過濾或者查詢敏感詞(DFA 演算法)

蕭風發表於2020-07-04

剛剛釋出了一個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 協議》,轉載必須註明作者和本文連結

相關文章