我有一个script
,可以检测我的字词过滤器(数组)中的字词,并确定string
是否干净。
当单词与间距一起使用时,下面的内容效果很好。但是ifiwritesomething
没有空格,它没有检测到。
我怎样才能使它搜索整个字符串而不是单词?我尝试删除explode
函数,但是我遇到了一些错误......
$string = 'goodmorningnoobs';
$array = array("idiot","noob");
if(0 == count(array_intersect(array_map('strtolower', explode(' ', $string)), $array))){
echo"clean";
} else {
echo "unclean";
}
有人可以帮忙吗?
答案 0 :(得分:3)
$clean = true;
foreach ( $array as $word ) {
if ( stripos($string, $word) !== false ) {
$clean = false;
break;
}
}
echo $clean ? 'clean' : 'unclean';
答案 1 :(得分:1)
怎么样?
$hasWords = preg_match('/'. implode('|', $words) .'/', $string);
echo $hasWords ? 'unclean' : 'clean';