敏感词过滤

$sens=M("sensitive")->select();
foreach ($sens as $k=>$v){
$sensi[]=$v['sensitive'];
}
$list=$sensi;
$string=$title;
$count = 0; //违规词的个数

$sensitiveWord = ''; //违规词

$stringAfter = " "; //替换后的内容

$pattern = "/" . implode("|", $list) . "/i"; //定义正则表达式

if (preg_match_all($pattern, $string, $matches)) { //匹配到了结果

$patternList = $matches[0]; //匹配到的数组

$count = count($patternList);

$sensitiveWord = implode(',', $patternList); //敏感词数组转字符串

$replaceArray = array_combine($patternList, array_fill(0, count($patternList), '*')); //把匹配到的数组进行合并,替换
使用

$title = strtr($string, $replaceArray); //结果替换

}

 

posted @ 2020-10-19 18:28  php毛宏历的博客  阅读(96)  评论(0编辑  收藏  举报