preg_replace (): неизвестный модификатор ‘\\’

Это, вероятно, самый простой вопрос. Но я не написал код и его не прокомментировали. Я просто пытаюсь это исправить, потому что это вызывает много проблем на моем сайте. Это в основном текстовом коде парсера.

Ошибка: 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 );
-

Я уверен, что я просто скучаю по нему.

Любая помощь с благодарностью. Спасибо

2

Решение

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]