romanag
9.09.2015 - 20:18
Здравствуйте, объясните пожалуйста в каком месте я ошибаюсь.
Код:
$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
9.09.2015 - 20:34
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
10.09.2015 - 19:49
Задача решается применением модификатора "u"
$content = preg_replace('/'. $word . '/iu', "<b>$word</b>", $content);
Игорь_Vasinsky
10.09.2015 - 22:29
Цитата |
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
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.