Conditions | 5 |
Paths | 12 |
Total Lines | 31 |
Code Lines | 13 |
Lines | 0 |
Ratio | 0 % |
Tests | 12 |
CRAP Score | 5 |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
6173 | public static function str_ireplace($search, $replacement, $subject, &$count = null) |
||
6174 | { |
||
6175 | 29 | $search = (array) $search; |
|
6176 | |||
6177 | /** @noinspection AlterInForeachInspection */ |
||
6178 | 29 | foreach ($search as &$s) { |
|
6179 | 29 | $s = (string) $s; |
|
6180 | 29 | if ($s === '') { |
|
6181 | 6 | $s = '/^(?<=.)$/'; |
|
6182 | } else { |
||
6183 | 29 | $s = '/' . \preg_quote($s, '/') . '/ui'; |
|
6184 | } |
||
6185 | } |
||
6186 | |||
6187 | // fallback |
||
6188 | /** @phpstan-ignore-next-line - only a fallback for PHP8 */ |
||
6189 | 29 | if ($replacement === null) { |
|
6190 | 1 | $replacement = ''; |
|
6191 | } |
||
6192 | /** @phpstan-ignore-next-line - only a fallback for PHP8 */ |
||
6193 | 29 | if ($subject === null) { |
|
6194 | 1 | $subject = ''; |
|
6195 | } |
||
6196 | |||
6197 | /** |
||
6198 | * @psalm-suppress PossiblyNullArgument |
||
6199 | * @phpstan-var TStrIReplaceSubject $subject |
||
6200 | */ |
||
6201 | 29 | $subject = \preg_replace($search, $replacement, $subject, -1, $count); |
|
6202 | |||
6203 | 29 | return $subject; |
|
6204 | } |
||
13693 |