您的位置:首页 > 编程语言 > PHP开发

PHP解决方案@黑名单过滤

2015-07-21 19:14 766 查看
方案解决目标:对一些黑名单进行过滤处理

function is_spam($text, $file, $split =':', $regex =false){ 
        $handle = fopen($file,'rb'); 
        $contents = fread($handle, filesize($file)); 
        fclose($handle); 
        $lines = explode("n", $contents); 
        $arr = array();foreach($lines as $line){ 
            list($word, $count)= explode($split, $line);if($regex){ 
                $arr[$word]= $count; 
            }else{ 
                $arr[preg_quote($word)]= $count;                                               }} 
        preg_match_all("~".implode('|', array_keys($arr))."~", $text, $matches); 
        $temp = array();foreach($matches[0]as $match){if(!in_array($match, $temp)){ 
                $temp[$match]= $temp[$match]+1;if($temp[$match]>= $arr[$word]) {                    returntrue;                                                                    }            }}returnfalse;    } $file ='spam.txt'; $str ='This string has cat, dog word';if(is_spam($str, $file)) {
    echo 'this is spam';}else{ 
    echo 'this is not spam';}



输出:

ab:3dog:3cat:2monkey:2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: