繁体   English   中英

检查字符串是否包含数组中的单词

[英]Check if string contains words from array

我下面有一个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";

}

有人可以帮忙吗?

$clean = true;

foreach ( $array as $word ) {
    if ( stripos($string, $word) !== false ) {
        $clean = false;
        break;
    }
}

echo $clean ? 'clean' : 'unclean';

怎么样?

$hasWords = preg_match('/'. implode('|', $words) .'/', $string);

echo $hasWords ? 'unclean' : 'clean';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM