前言

如果可以用第三方的话,那么你是幸运的,因为现在这种敏感词过滤,敏感图片,敏感语音过滤的第三方服务还是挺多的

敏感词过滤

核心代码

利用PHP内置的三个函数

array_combine() | array_fill() | strtr()

$replace =array_combine($item,array_fill(0,count($item),'*'));
$content = strtr($content,$replace);

array_combine

PHP——敏感词过滤-LMLPHP

array_fill

PHP——敏感词过滤-LMLPHP

strtr

PHP——敏感词过滤-LMLPHP

完整代码

//过滤敏感词所有匹配的敏感词用一个*代替
$sensitives = Db::name('sensitive')->field('data')->cache(7200)->select();
$item = [];
foreach($sensitives as $k=>$v){
$item[$k] = $v['data'];
}
$replace =array_combine($item,array_fill(0,count($item),'*'));
$content = strtr($content,$replace);
05-11 19:21