2

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

错误:preg_replace(): Unknown modifier '\' 更完整的错误:PHP 警告:preg_replace(): Unknown modifier '\' 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 );
-

我确定我只是想念它。

任何帮助是极大的赞赏。谢谢

4

1 回答 1

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

于 2016-07-03T14:09:58.267 回答