我无法让preg_match
在字符串的任何位置找到单词。
我有这个:
$bad_words = "/(\bsuck\b)|(\bsucks\b)|(\bporn\b)|";
$text = "sucky";
if(preg_match($bad_term_filter, trim($feedback_review_comment)) != 0 )
我需要返回true,但只有完全匹配才会返回true,例如
$text = "suck";
返回true
答案 0 :(得分:1)
\b
是单词边界锚。看起来你试图找到某个单词是否出现在任何地方而不管单词边界,所以我认为你想要的模式只是:
suck|porn
你也不想要最后一个空的替代,因为那将匹配所有东西(所有字符串都包含一个空字符串)。无需明确查找sucks
,因为它已包含suck
。