preg_replace():未知的修饰符' \\'

时间:2016-07-03 13:53:20

标签: php preg-replace ipb

这可能是最简单的问题。但我没有写代码,也没有评论。我只是想修复它,因为它在我的网站上造成了很多问题。它在主文本解析器代码中。

错误:preg_replace():未知的修饰符' \' 更完整的错误:PHP警告:preg_replace():未知的修饰符' \' in ... / cutout / text / parser.php on line 1192,referer:domain / forums /

代码:http://pastebin.com/k98mpF8n 有很多,所以这是最简单的方法。 $ text是参数。看起来它是一个糟糕的文字过滤器,但似乎缺少很多东西。我无法找到遗漏的内容。除非你知道为什么我能做到。

-
$text = preg_replace( '/(^|\W)' . preg_quote( $test ) . '(\W|$)/i', "\\1" . $replace . "\\2", $text );
-

我确信我只是错过了它。

非常感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:1)

preg_replace(): Unknown modifier包含$test时,会发生

/

preg_quote( $test );

应该是

preg_quote( $test, '/' );

/'/(^|\W)...(\W|$)/i'表达式中使用的PCRE分隔符。

PHP PCRE可以有任何分隔符,因此您必须告诉preg_quote()使用哪个分隔符。
http://php.net/manual/en/regexp.reference.delimiters.php