php实现基于确定有穷自动机算法的铭感词过滤

php-DFA-filterWord
php实现基于确定有穷自动机算法的铭感词过滤 https://packagist.org/packages/lustre/php-dfa-sensitive

安装&使用流程
Download and install Composer:
curl -sS https://getcomposer.org/installer | php
要检查 Composer 是否正常工作,只需要通过 php 来执行 PHAR

php composer.phar
安装扩展
composer require lustre/php-dfa-sensitive
注意:如果你在使用composer安装时,出现
Could not find package lustre/php-dfa-sensitive at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability 请在你的composer.json中加入"minimum-stability": “dev”
如果你需要手动引入
require ‘./vendor/autoload.php’;

use DfaFilter\SensitiveHelper;
构建敏感词库树
场景一: 可以拿到不同(用户)词库数组

// 获取感词库索引数组
$wordData = array(
‘察象蚂’,
‘拆迁灭’,
‘车牌隐’,
‘成人电’,
‘成人卡通’,

);

// get one helper
h a n d l e = S e n s i t i v e H e l p e r : : i n i t ( ) − > s e t T r e e ( handle = SensitiveHelper::init()->setTree( handle=SensitiveHelper::init()>setTree(wordData);
场景二: 全站使用一套敏感词库

// 获取感词库文件路径
$wordFilePath = ‘tests/data/words.txt’;

// get one helper
h a n d l e = S e n s i t i v e H e l p e r : : i n i t ( ) − > s e t T r e e B y F i l e ( handle = SensitiveHelper::init()->setTreeByFile( handle=SensitiveHelper::init()>setTreeByFile(wordFilePath);
检测是否含有敏感词
$islegal = h a n d l e − > i s l e g a l ( handle->islegal( handle>islegal(content);
敏感词过滤
// 敏感词替换为***为例
$filterContent = h a n d l e − > r e p l a c e ( handle->replace( handle>replace(content, ‘***’);
获取文字中的敏感词
// 获取内容中所有的敏感词
$sensitiveWordGroup = h a n d l e − > g e t B a d W o r d ( handle->getBadWord( handle>getBadWord(content);
// 仅且获取一个敏感词
$sensitiveWordGroup = h a n d l e − > g e t B a d W o r d ( handle->getBadWord( handle>getBadWord(content, 1);
如何使用单元测试进行测试
安装PHPUnit
$ wget https://phar.phpunit.de/phpunit.phar

$ chmod +x phpunit.phar

$ mv phpunit.phar /usr/local/bin/phpunit
使用composer自动加载php命名空间
$ composer update
运行单元测试
$ phpunit tests/BaseTest.php
目前已知使用平台:广电云 节目直播页面在线聊天功能支持

如果大家有更好的建议,请大家多多指正,O(∩_∩)O谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值