PHP实现的敏感词过滤方法示例
网络编程 2021-07-04 23:24www.168986.cn编程入门
这篇文章主要介绍了PHP实现的敏感词过滤方法,涉及php字符串正则匹配、分割、转换等相关操作技巧,需要的朋友可以参考下
本文实例讲述了PHP实现的敏感词过滤方法。分享给大家供大家参考,具体如下
1、敏感词过滤方法
/ @todo 敏感词过滤,返回结果 @param array $list 定义敏感词一维数组 @param string $string 要过滤的内容 @return string $log 处理结果 / function sensitive($list, $string){ $count = 0; //违规词的个数 $sensitiveWord = ''; //违规词 $stringAfter = $string; //替换后的内容 $pattern = "/".implode("|",$list)."/i"; //定义正则表达式 if(preg_match_all($pattern, $string, $matches)){ //匹配到了结果 $patternList = $matches[0]; //匹配到的数组 $count = count($patternList); $sensitiveWord = implode(',', $patternList); //敏感词数组转字符串 $replaceArray = array_bine($patternList,array_fill(0,count($patternList),'')); //把匹配到的数组进行合并,替换使用 $stringAfter = strtr($string, $replaceArray); //结果替换 } $log = "原句为 [ {$string} ]<br/>"; if($count==0){ $log .= "暂未匹配到敏感词!"; }else{ $log .= "匹配到 [ {$count} ]个敏感词[ {$sensitiveWord} ]<br/>". "替换后为[ {$stringAfter} ]"; } return $log; }
2、调用方法
function testAction(){ $string = 'likeyou小白喜欢小黑爱着的大黄'; //要过滤的内容 $list = ['狼蚁网络推广', '小红', '大白', '小白', '小黑', 'me', 'you']; //定义敏感词数组 $result = $this->sensitive($list, $string); echo ($result); die; //打印结果 / 原句为 [ likeyou小白喜欢小黑爱着的大黄 ] 匹配到 [ 3 ]个敏感词[ you,小白,小黑 ] 替换后为[ like喜欢爱着的大黄 ] / }
PS这里再为大家提供2款非常方便的正则表达式工具供大家参考使用
JavaScript正则表达式在线测试工具
正则表达式在线生成工具
更多关于PHP相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程