敏感词过滤
$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); //结果替换
}