laravel框架实现敏感词汇过滤功能示例
本文实例讲述了laravel框架实现敏感词汇过滤功能。分享给大家供大家参考,具体如下:
最近项目有需求,要对用户的签名,回复进行敏感词检测,然后搜到了一个好用的扩展,分享给大家。
https://github.com/FireLustre/php-dfa-sensitive
通过composer进行安装:
composerrequirelustre/php-dfa-sensitive
然后在app目录下创建Services,并添加SensitiveWords.php
setTreeByFile($path); } } } returnself::$handle; } /** *检测是否含有敏感词 */ publicstaticfunctionisLegal($content) { returnself::getInstance()->islegal($content); } /** *敏感词过滤 */ publicstaticfunctionreplace($content,$replace_char='',$repeat=false,$match_type=1) { returnself::getInstance()->replace($content,$replace_char,$repeat,$match_type); } /** *标记敏感词 */ publicstaticfunctionmark($content,$start_tag,$end_tag,$match_type=1) { returnself::getInstance()->mark($content,$start_tag,$end_tag,$match_type); } /** *获取文本中的敏感词 */ publicstaticfunctiongetBadWord($content,$match_type=1,$word_num=0) { returnself::getInstance()->getBadWord($content,$match_type,$word_num); } }
然后我们就可以在项目中,使用SensitiveWords::getBadWord()来获取文本中是否有敏感词。
$bad_word=SensitiveWords::getBadWord($content); if(!empty($bad_word)){ thrownew\Exception('包含敏感词:'.current($bad_word)); }
在storage目录下创建dict目录存放敏感词词库,bk.txt.....等等,这些词库都是我在网上下载的。
点击此处本站下载。
更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。