PHP нечувствительный заменить
Я пытаюсь заменить строку без учета чувствительности, поэтому я использую str_ireplace(), но она делает то, что мне не нужно, и я понятия не имею, как решить эту проблему.
так что это мой код:
$q = "pArty";
$str = "PARty all day long";
echo str_ireplace($q,'<b>' . $q . '</b>',$str);
Вывод будет таким: "<b>pArty</b> all day long"
, Вывод выглядит так, потому что я заменяю нечувствительную переменную $q
с его чувствительным.
Как я могу преодолеть это, чтобы результат был "<b>PARty</b> all day long"
?
2 ответа
Решение
Вы могли бы сделать это с preg_replace
Например:
$q = preg_quote($q, '/'); // in case it has characters of significance to PCRE
echo preg_replace('/' . $q . '/i', '<b>$0</b>', $str);
Это потому, что вы просите заменить " P A R t y" на "p A r t y". Как приказано, php подчинился. Однако почему вы вообще хотите что-то заменить? Оригинал - это то слово, которое вам нужно.