Этот код используется для удаления плохих слов из текста, введенного пользователями на форуме. Как-то этот код неправильно интерпретируется и удаляет строку в пустую. Кто-то знает, что случилось. Работал отлично до php5.6Код PHP7 сейчас не работает
$message = str_replace('\"', '"', substr(@preg_replace('#(\>(((?' . '>([^><]+|(?R)))*)\<))#se', "@preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1));
Это не мой код я не могу понять процедуру позади str_replace с SubStr и 2 preg_replace. Если бы кто-то мог превратить это в код с функцией обратного вызова или, по крайней мере, рабочий, он сделает меня счастливым.
Цитирование из [PHP Docs] (http://www.php.net/manual/en/function.preg-replace.php): 'Как РНР 5.5.0 E_DEPRECATED ошибки уровня излучается при передаче в модификаторе «\ e». Начиная с PHP 7.0.0 E_WARNING выдается в этом случае, а модификатор «\ e» не действует ». - Используйте [preg_replace_callback()] (http://www.php.net/manual/en/function.preg-replace -callback.php). –
http://php.net/manual/en/function.error-reporting.php –
Не используйте '@', это не поможет вам. Вероятно, это помешало вам осознать предыдущее осуждение. – chris85