过滤或者查找敏感词(DFA 算法)

刚刚发布了一个laravel过滤敏感词的包,采用 DFA 算法,可能还存在着一些不完善的地方,各位大佬如有发现可以指正一下,开发包前借鉴了前人的一些算法,发现其有些不足的地方(如:过滤敏感词中存在包含的关系::敏感和敏感词),然后进行了改造;

github : nelsonkti/sensitive-word

Installation

$ composer require nelsonkti/sensitive-word

Laravel

config/app.php

'providers' => [
    Nelsonkti\SensitiveWord\SensitiveWordServiceProvider::class,
],

'aliases' => [
    'SensitiveWord' => Nelsonkti\SensitiveWord\SensitiveWord::class,
],

Usage

基本使用:

use Nelsonkti\SensitiveWord\Facades\SensitiveWord;

$path = './word.txt'

$content = '敏感,敏感词需要过滤'; #检查内容
$filename = '/txt/sensitive-words.txt'; #敏感词文件路径

SensitiveWord::searchWord($content, $filename);
# 返回: array('敏感', '敏感词');

SensitiveWord::filterWord($content, $filename);
# 返回: *****需要过滤

注意:
word.txt 内容需要换行;如下:
敏感词
敏感

License

sensitive-word is licensed under The MIT License (MIT).

本作品采用《CC 协议》,转载必须注明作者和本文链接
萧风
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!