悪い言葉をチェックする機能がありますが、思い通りに動作しません。たとえば、test は cuss ワードであり、「testing」と言った場合、関数はそれを cuss ワードとしてカウントします。そうならないようにするにはどうすればよいでしょうか。
ここに私のコードがあります:
function censor($message) {
$badwords = $this->censor; //array with the cuss words.
$message = @ereg_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;
}
}
}
}