1. Installieren Sie libiconv, eine Abhängigkeit von libdatrie
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz tar zxvf libiconv-1.14.tar.gz cd libiconv-1.14 ./configure make make install
2. Installieren Sie: libdatrie (http://linux.thai.net/~thep/datrie/datrie.html#Download)
tar zxf libdatrie-0.2.4.tar.gz cd libdatrie-0.2.4 ./configure --prefix=/usr/local make make install
Kompilierungsfehler trietool.c:125: undefinierter Verweis auf „libiconv“
Die Lösung lautet: ./configure LDFLAGS=-L/usr/local/lib LIBS=- liconv
3. Installieren Sie die trie_filter-Erweiterung
Da die offizielle trie_filter-Erweiterung Chinesisch nicht sehr gut unterstützt, habe ich auf Git eine Erweiterung gefunden, die auf der offiziellen Erweiterung umgeschrieben und ohne Probleme getestet wurde
Die Installationsmethode ist wie folgt:
https://github.com/wulijun/php-ext-trie-filter Laden Sie das Quellpaket hier herunter
phpize ./configure --with-php-config=/usr/local/bin/php-config make make install
4. Ändern Sie die php.ini-Datei, fügen Sie die Erweiterung trie_filter hinzu: extension=trie_filter.so und starten Sie PHP neu.
Überprüfen Sie phpinfo und stellen Sie fest, dass die Erweiterung trie_filter verfügbar ist, wie in der Abbildung unten gezeigt:
5 ist nicht im oben heruntergeladenen Quellcode-Paket enthalten. Mit dem Befehl zum Generieren eines Wörterbuchs müssen Sie auch das offizielle Quellcode-Paket herunterladen
(https://code.google.com/p/as3chat/). downloads/detail?name=trie_filter-2011-03-21.tar.gz)
tar zxf trie_filter-2011.03.21.tar.gz cd trie_filter-2011.03.21 gcc -o dpp dpp.c -ldatrie // 生成dpp命令用语编译词典 ./dpp words.txt words.dic //将words.txt 编译成trie_filter使用的词典 words.txt中每个词占一行
Fehler beim Generieren des Wörterbuchs: ./dpp: Fehler beim Laden gemeinsam genutzter Bibliotheken: libdatrie.so.1: kann nicht geöffnet werden Gemeinsam genutzte Objektdatei: Keine solche Datei oder kein solches Verzeichnis
Lösung: Führen Sie
ldconfig
aus und führen Sie dann
./dpp words.txt words.dic
aus, ganz gut
6. Testen :
<!--?php /** * trie_filter 敏感词过滤示例 * **/ // 载入词典,成功返回一个 Trie_Filter 资源句柄,失败返回 NULL $file = trie_filter_load('./words.dic'); var_dump($file); $str1 = '今天利用trie_filter做敏感词过滤示例'; $str2 = '今天利用trie_filter做过滤示例'; // 检测文本中是否含有词典中定义的敏感词(假设敏感词设定为:‘敏感词’) $res1 = trie_filter_search_all($file, $str1); // 一次把所有的敏感词都检测出来 $res2 = trie_filter_search($file, $str2);// 每次只检测一个敏感词 var_dump($res1); echo "<br/-->"; var_dump($res2); trie_filter_free($file); //最后别忘记调用free
Es wird empfohlen, PHP zu verwenden. Für Versionen 5.3.3 und höher verwende ich 5.3.3
Das Obige ist der Inhalt der Verwendung der PHP-Erweiterung trie_filter zum Filtern von Chinesisch Für weitere verwandte Inhalte beachten Sie bitte die chinesische PHP-Website (www.php.cn)!
Verwandte Artikel:
Eine effiziente Filtermethode für sensible Wörter (PHP)
Die PHP-Filterung für sensible Wörter verwendet eine Drittanbieter-Erweiterung trie_filter
PHP implementiert das Filtern sensibler Wörter in Nachrichtennachrichten