나쁜 단어를 확인하는 기능이 있지만 원하는 방식으로 작동하지 않습니다. 예를 들어 테스트는 오스틴 단어였습니다. 그런 다음 "테스트"라고 말하면 기능은 오스카 단어로 간주됩니다. 내가 어떻게 그렇게하지 않을 수 있도록 고칠 것이라고.문자열 내에서 금지 단어 검색
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;
}
}
}
}
사용 \의 B :
당신도 내가 예 2에서 PHP의
preg_replace
문서의 복사 한 아래 코드 같은 것을 사용할 수 있습니다. 단어 경계와 일치합니다. – HappyTimeGopher'ereg_' 함수는 이유 때문에 사용되지 않습니다. '@'를 사용하여주의 사항을 표시하지 않는다고해서 조금 낫지는 않습니다. 'preg_' 기능으로 전환하십시오. – kapa
@HappyTimeGopher 어디에서 추가 할 수 있습니까? – user1588878