Это, вероятно, самый простой вопрос. Но я не написал код и его не прокомментировали. Я просто пытаюсь это исправить, потому что это вызывает много проблем на моем сайте. Это в основном текстовом коде парсера.
Ошибка: preg_replace (): неизвестный модификатор ‘\’
Более полная ошибка: PHP Предупреждение: preg_replace (): неизвестный модификатор ‘\’ в … / cutout / text / parser.php в строке 1192, реферер: домен / форумы /
Код: http://pastebin.com/k98mpF8n
Это много, так что это самый простой способ сделать это. $ text — это параметр. Похоже, это плохой фильтр слов, но, похоже, отсутствует во многих вещах. Я не могу узнать, что передается извините. Если вы не знаете, почему я мог.
-
$text = preg_replace( '/(^|\W)' . preg_quote( $test ) . '(\W|$)/i', "\\1" . $replace . "\\2", $text );
-
Я уверен, что я просто скучаю по нему.
Любая помощь с благодарностью. Спасибо
preg_replace(): Unknown modifier
происходит, когда $test
содержит /
,
preg_quote( $test );
должно быть
preg_quote( $test, '/' );
/
это разделитель PCRE, используемый в вашем '/(^|\W)...(\W|$)/i'
выражение.
PHP PCRE может иметь любой разделитель, поэтому вы должны сказать preg_quote()
какой разделитель используется.
http://php.net/manual/en/regexp.reference.delimiters.php
Других решений пока нет …