Conditions | 5 |
Paths | 12 |
Total Lines | 31 |
Code Lines | 13 |
Lines | 0 |
Ratio | 0 % |
Tests | 13 |
CRAP Score | 5 |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
6220 | 29 | public static function str_ireplace($search, $replacement, $subject, &$count = null) |
|
6221 | { |
||
6222 | 29 | $search = (array) $search; |
|
6223 | |||
6224 | /** @noinspection AlterInForeachInspection */ |
||
6225 | 29 | foreach ($search as &$s) { |
|
6226 | 29 | $s = (string) $s; |
|
6227 | 29 | if ($s === '') { |
|
6228 | 6 | $s = '/^(?<=.)$/'; |
|
6229 | } else { |
||
6230 | 24 | $s = '/' . \preg_quote($s, '/') . '/ui'; |
|
6231 | } |
||
6232 | } |
||
6233 | |||
6234 | // fallback |
||
6235 | /** @phpstan-ignore-next-line - only a fallback for PHP8 */ |
||
6236 | 29 | if ($replacement === null) { |
|
6237 | 1 | $replacement = ''; |
|
6238 | } |
||
6239 | /** @phpstan-ignore-next-line - only a fallback for PHP8 */ |
||
6240 | 29 | if ($subject === null) { |
|
6241 | 1 | $subject = ''; |
|
6242 | } |
||
6243 | |||
6244 | /** |
||
6245 | * @psalm-suppress PossiblyNullArgument |
||
6246 | * @phpstan-var TStrIReplaceSubject $subject |
||
6247 | */ |
||
6248 | 29 | $subject = \preg_replace($search, $replacement, $subject, -1, $count); |
|
6249 | |||
6250 | 29 | return $subject; |
|
6251 | } |
||
13722 |