Я пытаюсь реализовать немного кода, найденного при переполнении стека, который покрывает фильтр спам-слов. Когда я просто набираю спам-слово, функция работает, однако, когда я печатаю кучу текста до того, как оно будет пропущено. Я проверил источник, и я должен что-то упустить, может ли кто-нибудь помочь?Проверьте, содержит ли строка спам-слова
код:
function strpos_arr($haystack, $needle) {
if(!is_array($needle)) $needle = array($needle);
foreach($needle as $what) {
if(($pos = strpos($haystack, $what))!==false) return $pos;
}
return false;
}
функция Я звоню это вроде:
if(strpos_arr($text, $bad_words)) {
return false;
} else {
return true;
}
массив только простой массив с большим количеством плохих слов, как так:
$bad_words = array(
'bad word 1',
'bad word 2');
ссылка на оригинал: Using an array as needles in strpos
Thanks
Это скорее случай, если обнаружено неправильное слово. – jamper
Да, я так и думал. Изменения в моем ответе должны разобраться. Ты это пробовал? – danmullen
Я просто сделал, отлично работает, спасибо! ответ помечен :) – jamper