PHP Preg_match 总是 return 真
PHP Preg_match always return true
我正在尝试使用 get_posts、
检索 Wordpress 帖子列表
之后,我想在 post_content 中搜索是否有特定字符串的匹配项。
现在,我的代码是:
if(preg_match('/\b[download id="2"]\b/i', $value->post_content)){
echo('match');
}else{
echo('nomatch');
}
但它 return 始终匹配。
我做错了什么?
方括号表示匹配指定的任何字符,因此在您的情况下它匹配 d
或 o
或 w
或 n
或 l
或 a
或 </code> 或 <code>i
或 =
或 "
或 2
.
如果你想在一个字符串中匹配download id="2"
那么你需要使用/(download id="2")/i
。如果你想匹配 [download id="2"]
那么你需要像这样转义方括号:/(\[download id="2"\])/i
我正在尝试使用 get_posts、
检索 Wordpress 帖子列表之后,我想在 post_content 中搜索是否有特定字符串的匹配项。
现在,我的代码是:
if(preg_match('/\b[download id="2"]\b/i', $value->post_content)){
echo('match');
}else{
echo('nomatch');
}
但它 return 始终匹配。
我做错了什么?
方括号表示匹配指定的任何字符,因此在您的情况下它匹配 d
或 o
或 w
或 n
或 l
或 a
或 </code> 或 <code>i
或 =
或 "
或 2
.
如果你想在一个字符串中匹配download id="2"
那么你需要使用/(download id="2")/i
。如果你想匹配 [download id="2"]
那么你需要像这样转义方括号:/(\[download id="2"\])/i