Не срабатывает замена текста в функции preg_replace с кириллицей

125
20 августа 2019, 15:00

Версия php 5.3

Есть текст, получаемый с бд. Есть слова, получаемые также с бд. Необходимо заменить слова на *** в тексте совпадающие со словами не учитываю регистр. Если регистр учитывать, все получается. str_ireplace данная функция так же не срабатывает. Разбираясь я понял что дело в кириллице и в кодировке UTF-8. Хочу подметить, если чекать какая кодировка в каждой из переменных, то везде UTF-8 кроме $str_replace, там ASCII. Функция mb_eregi_replace так же не срабатывает.

Если текст и слова писать в самом коде, не получая его с бд, то все проходит как необходимо без учета регистра.

$msg = preg_replace("/($key)/iu", $str_replace, $msg);
// $key - слово, которое необходимо заменить
// $str_replace - *** (звездочки)
// $msg - Текст
$msg = preg_replace("/(сделаю)/iu", '***', "я Сделаю"); // Этот вариант рабочий.
Answer 1
$msg = preg_replace($key, $str_replace, $msg);
READ ALSO
Отпрасить ответ от snmp3_real_walk

Отпрасить ответ от snmp3_real_walk

Опрашиваю оборудование по snmp

104
Цикл php не выводит информацию

Цикл php не выводит информацию

Почему не выводит информацию в данном цикле?

128
Неправильно отображается раздел bitrix

Неправильно отображается раздел bitrix

Задача легкая, но непонятнаяНа сайте есть раздел catalog и есть подразделы podcatalog Хлебные крошки работают как надо, но, так как индексной страницы...

120
Как правильно перевести float в int [дубликат]

Как правильно перевести float в int [дубликат]

На данный вопрос уже ответили:

111