PluginProbe ʕ •ᴥ•ʔ
Brevo – Email, SMS, Web Push, Chat, and more. / 3.2.0
Brevo – Email, SMS, Web Push, Chat, and more. v3.2.0
2.9.13 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 2.9.9 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.2 3.1.20 3.1.21 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.1.29 3.1.3 3.1.30 3.1.31 3.1.32 3.1.33 3.1.34 3.1.35 3.1.36 3.1.37 3.1.38 3.1.39 3.1.4 3.1.40 3.1.41 3.1.42 3.1.43 3.1.44 3.1.45 3.1.46 3.1.47 3.1.48 3.1.49 3.1.5 3.1.50 3.1.51 3.1.52 3.1.53 3.1.54 3.1.55 3.1.56 3.1.57 3.1.58 3.1.59 3.1.6 3.1.60 3.1.61 3.1.62 3.1.63 3.1.64 3.1.65 3.1.66 3.1.67 3.1.68 3.1.69 3.1.7 3.1.70 3.1.71 3.1.72 3.1.73 3.1.74 3.1.75 3.1.76 3.1.77 3.1.78 3.1.79 3.1.8 3.1.80 3.1.81 3.1.82 3.1.83 3.1.84 3.1.85 3.1.86 3.1.87 3.1.88 3.1.89 3.1.9 3.1.90 3.1.91 3.1.92 3.1.93 3.1.94 3.1.95 3.1.96 3.1.97 3.1.98 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 trunk 1.0 1.5 2.0.8 2.9.10 2.9.11 2.9.12
mailin / wonderpush-php-lib / lib / Util / StringUtil.php
mailin / wonderpush-php-lib / lib / Util Last commit date
ArrayUtil.php 1 year ago DefaultLogger.php 1 year ago JsonSerializable.php 1 year ago Logger.php 1 year ago StringUtil.php 1 year ago TimeUnit.php 1 year ago TimeUtil.php 1 year ago TimeValue.php 1 year ago UrlUtil.php 1 year ago
StringUtil.php
79 lines
1 <?php
2
3 namespace WonderPush\Util;
4
5 if (count(get_included_files()) === 1) { http_response_code(403); exit(); } // Prevent direct access
6
7 /**
8 * Utility class for string manipulation.
9 */
10 class StringUtil {
11
12 /**
13 * Returns whether a given string is prefixed by another.
14 * @param string $subject The string to be tested
15 * @param string $prefix The prefix to be detected
16 * @return boolean
17 */
18 public static function beginsWith($subject, $prefix) {
19 if ($subject === '') {
20 return $prefix === ''; // substr() returns FALSE if the start arguments equals the string length prior to PHP 7.0.0
21 }
22 /** @noinspection SubStrUsedAsStrPosInspection */
23 return substr($subject, 0, strlen($prefix)) === $prefix;
24 }
25
26 /**
27 * Returns whether a given string is suffixed by another.
28 * @param string $subject The string to be tested
29 * @param string $suffix The suffix to be detected
30 * @return boolean
31 */
32 public static function endsWith($subject, $suffix) {
33 if ($suffix === '') {
34 return true;
35 }
36 return substr($subject, -strlen($suffix)) === $suffix;
37 }
38
39 /**
40 * Returns whether a given string contains another.
41 * @param string $haystack The string to be tested
42 * @param string $needle The substring to be detected
43 * @return boolean
44 */
45 public static function contains($haystack, $needle) {
46 return strpos($haystack, $needle) !== false;
47 }
48
49 /**
50 * Performs string replacement of placeholders using the given replacements.
51 *
52 * If the second argument is an array, occurrences of each `{key}` in the format string will be replaced.
53 * Otherwise, instances of `{0}`, `{1}`, etc… in the format string will be replaced by the value of the following arguments.
54 *
55 * The following two calls are identical: `format("{0}-{1}-{2}", "2001", "12", "31")` and `format("{0}-{1}-{2}", array("2001", "12", "31"))`.
56 *
57 * @param string $format The format string with `{key}` occurrences to be replaced.
58 * @param string[]|\stdClass|mixed... $args The values used for replacement. Can also be multiple separate parameters.
59 * @return string
60 */
61 public static function format($format, $args) {
62 $search = array();
63 $replace = array();
64
65 if (!is_array($args) && !is_object($args)) {
66 $args = func_get_args();
67 array_shift($args);
68 }
69
70 foreach($args as $key => $value) {
71 $search[] = '{' . $key . '}';
72 $replace[] = $value;
73 }
74
75 return str_replace($search, $replace, $format);
76 }
77
78 }
79