1
我真的需要一個好的壞詞過濾器爲我的腳本。我已經有了一堆壞詞。但我的問題是,它發現了壞詞,換言之,就像說「測試」是一個糟糕的詞,而你說「測試」它仍然將它算作一個壞詞。在我的第二次嘗試中,我修復了檢測詞,換句話說,但是人們可以通過說@test和'cusswordhere'來繞過它。先進的詞過濾器
有沒有什麼我可以做的,以解決這個問題?
我的代碼:
function censor($message) {
$badwords = $this->censor; //array containing bad words
$message = @preg_replace('[^A-Za-z0-9 ]','',strtolower(' '.$message.' '));
foreach($badwords as $bad) {
$bad = trim($bad);
if(strpos($message.' ', $bad.' ')!==false) {
if(strlen($bad)>=2) {
return true;
}
}
}
}
目前,它不檢測的話,換句話說,但你可以說這樣的東西@cusshere「cusshere」繞過它等,有什麼我可以做些什麼來解決這個問題?
您已經刪除了像@和'''這樣的字符,那麼用戶怎麼能繞過這個? – 2012-08-10 03:21:54