- Notifications
You must be signed in to change notification settings - Fork141
🙈 实现过滤敏感词汇🔞,基于确定有穷自动机(DFA)算法,支持composer安装扩展
NotificationsYou must be signed in to change notification settings
FireLustre/php-dfa-sensitive
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
php实现基于确定有穷自动机算法的铭感词过滤https://packagist.org/packages/lustre/php-dfa-sensitive
curl -sS https://getcomposer.org/installer | php要检查 Composer 是否正常工作,只需要通过 php 来执行 PHAR
php composer.pharcomposer 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$handle = SensitiveHelper::init()->setTree($wordData);场景二: 全站使用一套敏感词库
// 获取感词库文件路径$wordFilePath = 'tests/data/words.txt';// get one helper$handle = SensitiveHelper::init()->setTreeByFile($wordFilePath);$islegal = $handle->islegal($content);// 敏感词替换为*为例(会替换为相同字符长度的*)$filterContent = $handle->replace($content, '*', true); // 或敏感词替换为***为例 $filterContent = $handle->replace($content, '***'); $markedContent = $handle->mark($content, '<mark>', '</mark>');// 获取内容中所有的敏感词$sensitiveWordGroup = $handle->getBadWord($content);// 仅且获取一个敏感词$sensitiveWordGroup = $handle->getBadWord($content, 1);$ wget https://phar.phpunit.de/phpunit.phar$ chmod +x phpunit.phar$ mv phpunit.phar /usr/local/bin/phpunit
$ composer update
$ phpunit tests/BaseTest.php
如果大家有更好的建议,请大家多多指正,O(∩_∩)O谢谢
你们的star是我的动力
About
🙈 实现过滤敏感词汇🔞,基于确定有穷自动机(DFA)算法,支持composer安装扩展
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.