[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: str_ireplace и русская кодировка
romanag
Здравствуйте, объясните пожалуйста в каком месте я ошибаюсь.

Код:

$content = 'windows xp статья text 2';
str_ireplace('СТАТЬЯ', "<b>СТАТЬЯ</b>", $content);
str_ireplace('WINDOWS', "<b>WINDOWS</b>", $content);


В результате после вызова второй ф-и str_ireplace подстрока windows обворачивается в тег

<b>

, чего не происходит при первом вызове str_ireplace.

Результат:

string(30) "windows xp статья text 2"
string(37) "<b>WINDOWS</b> xp статья text 2"


Может проблема в русской кодировке? не знаю. Пробовал mb_ereg_replace и похожие аналоги - результат тот же
Игорь_Vasinsky
strtr() для юникода.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
romanag
Задача решается применением модификатора "u"


$content = preg_replace('/'. $word . '/iu', "<b>$word</b>", $content);
Игорь_Vasinsky
Цитата
strtr() для юникода.


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.