@@ 55-72 (lines=18) @@ | ||
52 | * |
|
53 | * @return string |
|
54 | */ |
|
55 | public static function cutStart( |
|
56 | string $str, |
|
57 | string $subString = ' ', |
|
58 | bool $repeat = false, |
|
59 | bool $caseSensitive = true |
|
60 | ) : string { |
|
61 | $prepared = RegEx::prepare($subString, '/'); |
|
62 | $regex = sprintf( |
|
63 | '/^%s/%s', |
|
64 | ($subString |
|
65 | ? ($repeat ? RegexHelper::quantifyGroup($prepared, 0) : $prepared) |
|
66 | : '' |
|
67 | ), |
|
68 | (!$caseSensitive ? 'i' : '') |
|
69 | ); |
|
70 | ||
71 | return preg_replace($regex, '', $str); |
|
72 | } |
|
73 | ||
74 | /** |
|
75 | * Cut substring from the end of string |
|
@@ 84-101 (lines=18) @@ | ||
81 | * |
|
82 | * @return string |
|
83 | */ |
|
84 | public static function cutEnd( |
|
85 | string $str, |
|
86 | string $subString = ' ', |
|
87 | bool $repeat = false, |
|
88 | bool $caseSensitive = true |
|
89 | ) : string { |
|
90 | $prepared = RegEx::prepare($subString, '/'); |
|
91 | $regex = sprintf( |
|
92 | '/%s$/%s', |
|
93 | ($subString |
|
94 | ? ($repeat ? RegexHelper::quantifyGroup($prepared, 0) : $prepared) |
|
95 | : '' |
|
96 | ), |
|
97 | (!$caseSensitive ? 'i' : '') |
|
98 | ); |
|
99 | ||
100 | return preg_replace($regex, '', $str); |
|
101 | } |
|
102 | } |
|
103 |