利用PHP擴充套件trie filter做敏感詞過濾

2021-09-01 19:25:06 字數 1564 閱讀 2621

早就想研究下敏感詞過濾問題,今天有些時間,正好實踐一下。

1. 安裝:libdatrie (

tar zxf libdatrie-0.2.4.tar.gz 

cd libdatrie-0.2.4

./configure --prefix=/usr/local

make

make install

2. 安裝 trie_filter 擴充套件 (

tar zxf trie_filter-2011.03.21.tar.gz 

cd trie_filter-2011.03.21

phpize (#/usr/local/php/bin/phpize )

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

3. 修改 php.ini 檔案,新增 trie_filter 擴充套件:extension=trie_filter.so,重啟php。

檢視phpinfo發現trie_filter 擴充套件可用,如下圖所示:

4. 生成敏感詞詞典 (*** 在 trie_filter-1.0.0 裡面)

規則:./*** txt_file_path dict_file_path 

示例:./*** ~/mgc.txt mgc.dic 

5. 應用

<?php 

/** * trie_filter 敏感詞過濾示例

* * @author flyer0126

* @since 2013/08/26

**/// 載入詞典,成功返回乙個 trie_filter 資源控制代碼,失敗返回 null

$file = trie_filter_load('/usr/local/src/trie_filter/mgc.dic');

var_dump($file);

$str1 = '今天利用trie_filter做敏感詞過濾示例';

$str2 = '今天利用trie_filter做過濾示例';

// 檢測文字中是否含有詞典中定義的敏感詞(假設敏感詞設定為:『敏感詞』)

$res1 = trie_filter_search($file, $str1);

$res2 = trie_filter_search($file, $str2);

echo $res1 ? '存在敏感詞' : '不存在敏感詞';

echo "

";echo $res2 ? '存在敏感詞' : '不存在敏感詞';

/**resource(1) of type (trie tree filter)

存在敏感詞

不存在敏感詞

**/

對應 libdatrie-0.2.4.tar.gz 及 trie_filter-2011-03-21.tar.gz 已新增至附件中,有興趣的可以拿走~

利用phpize安裝php擴充套件模組

cd extname 進入擴充套件模組的原始碼目錄下 usr local php bin phpize 舉例而已,具體路徑依實際情況而定 configure 根據不同的擴充套件模組,增加不同的引數 make make install 上邊的步驟將生成 extname.so檔案 修改php.ini e...

利用PHP擴充套件trie filter做敏感詞過濾

使用說明 1.安裝 libdatrie tar zxf libdatrie 0.2.4.tar.gz cd libdatrie 0.2.4 configure prefix usr local make make install 2.安裝 trie filter 擴充套件 tar zxf trie ...

php uuid 擴充套件,PHP 擴充套件

編譯安裝時候沒有啟用下面擴充套件的,可以單獨安裝 php關鍵性擴充套件安裝 www lanmps 假設 套件 安裝目錄 www lanmps php 7.0.11 假設 php 安裝目錄 1.fileinfo 擴充套件 它應用於檔案處理的改進 進入套件解壓縮後目錄 假設套件目錄為 root lanm...