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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。