当我写以下内容时,我得到这样的警告,它与任何内容都不匹配,但是我敢肯定,其中$row_search['content']包含$value…
$row_search['content']
$value
preg_match_all("/[^\s]*".preg_quote($value)."[^\s]*/iu", $row_search['content'], $final_matched); WARNING:preg_match_all() [function.preg-match-all]: Unknown modifier '/' in C:\xampp\htdocs\finance\search\search.php on line 82
为什么我会收到这样的警告消息?
谢谢
我假设$value包含一个斜杠/,不能通过以下方式转义preg_quote:
/
preg_quote
特殊的正则表达式字符为: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -
. \ + * ? [ ^ ] $ ( ) { } = ! < > | : -
将您使用的定界符传递给函数:
preg_match_all("/[^\s]*".preg_quote($value, '/')."[^\s]*/iu", $row_search['content'], $final_matched); // ---^
或使用其他定界符。