我需要在preg_match中使用一个正则表达式来捕捉像cialis这样的单词作为带空格的单词,也可以作为带有标记的单词,即<b>cialis</b>
,所以我使用了这个
$word = "cialis";
if (preg_match_all("/\b$word\b/i", $content, $matches)) {
$caught[] = $matches[0];
}
哪种方法效果很好,并没有用像cialis这样的专家这样的词来解雇。一切都很好,直到我点击一些法语单词,如spécialisé é被视为一个单词边界,因此spécialisé被捕获。什么正则表达式会阻止spécialisé被添加到$ caught?
提前谢谢。
答案 0 :(得分:4)
您可以将修饰符u
用于unicode字符串:
/\b$word\b/iu