检查域名是否包含某些单词

时间:2016-02-09 15:59:17

标签: php

我正在尝试检查域名是否包含列入黑名单的单词。到目前为止,我的代码是

function teststringforbadwords($string,$banned_words) {
    foreach($banned_words as $banned_word) {
        if(stristr($string,$banned_word)){
            return false;
        }
    }
    return true;
}


$banned_words= array("casino","payday","prescription");


if (teststringforbadwords("casino123.com",$banned_words)) {
echo "banned word found";
continue;
} 

以上代码适用于casino.com但不适用于casino123.com,我们将不胜感激。

注意:这不重复提到的问题只检查1个单词,我在这里检查单词数组。

2 个答案:

答案 0 :(得分:4)

条件恰恰相反,应该是:

foreach($banned_words as $banned_word) {
    if(stristr($string,$banned_word) !== false){
        return true;
    }
}
return false;

答案 1 :(得分:0)

我认为你的逻辑是倒退的。如果找到被禁止的单词,你想返回true,对吗?

if(stristr($string,$banned_word)){
return true;
}

...因为,当你打电话给你说的功能时:

if(teststringforbadwords("casino123.com",$banned_words)){
echo "banned word found";
}