测试某些单词的字符串的有效方法

duk*_*vin 0 php string

我有一堆禁止的单词,想检查字符串A是否包含这些单词中的任何一个。

例如:

$banned_words = "dog cat horse bird mouse monkey blah blah2 blah3 "; //etc
$string_A = "The quick brown fox jumped over the lazy dog";
Run Code Online (Sandbox Code Playgroud)

如何有效检查字符串中的任何单词是否与禁止单词列表中的任何单词匹配?

zer*_*kms 5

if (preg_match('~\b(' . str_replace(' ', '|', $banned_words) . ')\b~', $string_A)) {
    // there is banned word in a string
}
Run Code Online (Sandbox Code Playgroud)