首页 / PHP / PHP实现的敏感词过滤方法示例
PHP实现的敏感词过滤方法示例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP实现的敏感词过滤方法示例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1813字,纯文字阅读大概需要3分钟。
内容图文
![PHP实现的敏感词过滤方法示例](/upload/InfoBanner/zyjiaocheng/274/57e54e9b7ae2445fa0f67d3e1d23a5e4.jpg)
本文实例讲述了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_combine($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正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《php程序设计安全教程》、《php安全过滤技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》及《php+mysql数据库操作入门教程》
希望本文所述对大家PHP程序设计有所帮助。
内容总结
以上是互联网集市为您收集整理的PHP实现的敏感词过滤方法示例全部内容,希望文章能够帮你解决PHP实现的敏感词过滤方法示例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。