这可能是最简单的问题。但我没有写代码,也没有评论。我只是想修复它,因为它在我的网站上造成了很多问题。它在主文本解析器代码中。
错误: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 );
-
我确信我只是错过了它。
非常感谢任何帮助。感谢
答案 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