를 작동 내가 나쁜 단어 중 하나 잘 작동하는 것 같다 배열 $stopwords
정지 단어
function stopWords($string, $stopwords) {
$stopwords = explode(',', $stopwords);
$pattern = '/\b(' . implode('|', $stopwords) . ')\b/i';
if(preg_match($pattern, $string) > 0) {
return true;
}
return false;
}
에서 발견되는 경우는 true 반환이 기능을 가지고있다.
문제는 배열 $stopwords
이 비어있어 (나쁜 단어가 지정되지 않았 음) 빈 값이 잘못된 단어로 인식되고 항상 true를 반환하는 것처럼 항상 true를 반환합니다 (나는 이것이 문제라고 생각합니다. 하지만 어쩌면 다른 것입니다).
누구든지이 문제를 해결할 수 있습니까? 내가 in_array()
을 사용
감사
좋은 소식! 매우 깨끗합니다! – Mike
나는 두려워서, 실패했다 : ** 완전한 $ string **은 stopword이지만 ** $ string **의 단어가 stopword 인 경우에만 in_array()가 true를 반환한다 –
@EugenRieck : 전체 문자열에서 단일 어커런스를 확인하기위한 솔루션을 추가했습니다. – konsolenfreddy