0
我有這個函數來檢查我的字符串中的禁止詞。但是,如果空格被刪除,我無法檢測到被禁止的單詞 - 導致該函數無用。有人可以幫助我改進它來檢測無空格的單詞。PHP函數檢查被禁止的詞
$string = "Hellomynameisuser.";
check_for_banned_words($string);
function check_for_banned_words($string){
$badWords = array(
"ban",
"bad",
"user",
"pass",
"stack",
"name",
"html"
);
$matches = array();
$matchFound = preg_match_all(
"/\b(" . implode($badWords,"|") . ")\b/i",
$string,
$matches
);
if($matchFound):
$words = array_unique($matches[0]);
echo("<ul>");
foreach($words as $word):
echo("<li>" . $word . "</li>");
endforeach;
echo("</ul>");
endif;
}
[clbuttic(http://www.codinghorror.com/blog/2008/10/obscenity-filters-bad-idea-or-incredibly-intercoursing-bad-idea.html)的問題! – DanFromGermany
但是,如果你這樣做,你也會禁止諸如「香蕉」和「即」這樣的詞。那是你要的嗎? – Jon
@DanFromGermany或者我們曾經說過的* Scunthorpe *問題,我曾在早期使用真正糟糕的褻瀆語言過濾器;) – CD001