PHP нечувствительный заменить - PullRequest
0 голосов
/ 07 марта 2011

Я пытаюсь заменить строку без учета чувствительности, поэтому я использую 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 ]

3 голосов
/ 07 марта 2011

Вы можете сделать это с помощью preg_replace, например:

$q = preg_quote($q, '/'); // in case it has characters of significance to PCRE
echo preg_replace('/' . $q . '/i', '<b>$0</b>', $str);
0 голосов
/ 07 марта 2011

Это потому, что вы просите заменить «PAR ty» на «p A rty».Как приказано, php подчинился.Тем не менее, почему вы хотите что-то заменить?Оригинал - это то слово, которое вам нужно.

...