1. Install libiconv, which is a dependency of 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. Install: 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
Compilation error trietool.c:125: undefined reference to `libiconv'
The solution is: ./configure LDFLAGS=-L/usr/local/lib LIBS=-liconv
3. Install the trie_filter extension
Since the official trie_filter extension does not support Chinese very well, I found an extension on git that was rewritten on the official extension and has been tested without any problems
The installation method is as follows:
https://github.com/wulijun/php-ext-trie-filter Download the source code package here
phpize ./configure --with-php-config=/usr/local/bin/php-config make make install
4. Modify the php.ini file and add the trie_filter extension :extension=trie_filter.so, restart PHP.
Check phpinfo and find that the trie_filter extension is available, as shown in the following figure:
5. Generate a dictionary for word detection, because it is not included in the source code package downloaded above. It has a command to generate a dictionary, so you also need to download the official source code package
(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命令用語(yǔ)編譯詞典 ./dpp words.txt words.dic //將words.txt 編譯成trie_filter使用的詞典 words.txt中每個(gè)詞占一行
Error when generating dictionary: ./dpp: error while loading shared libraries: libdatrie.so.1: cannot open shared object file: No such file or directory
Solution : Execute
ldconfig
and then execute
./dpp words.txt words.dic
6. Test:
<!--?php /** * trie_filter 敏感詞過濾示例 * **/ // 載入詞典,成功返回一個(gè) Trie_Filter 資源句柄,失敗返回 NULL $file = trie_filter_load('./words.dic'); var_dump($file); $str1 = '今天利用trie_filter做敏感詞過濾示例'; $str2 = '今天利用trie_filter做過濾示例'; // 檢測(cè)文本中是否含有詞典中定義的敏感詞(假設(shè)敏感詞設(shè)定為:‘敏感詞’) $res1 = trie_filter_search_all($file, $str1); // 一次把所有的敏感詞都檢測(cè)出來 $res2 = trie_filter_search($file, $str2);// 每次只檢測(cè)一個(gè)敏感詞 var_dump($res1); echo "<br/-->"; var_dump($res2); trie_filter_free($file); //最后別忘記調(diào)用free
It is recommended to use php 5.3.3 or above version, I Using 5.3.3
The above is the content of using PHP extension trie_filter to filter Chinese sensitive words. For more related content, please pay attention to the PHP Chinese website (miracleart.cn)!
Related articles:
An efficient sensitive word filtering method (PHP)
php sensitive word filtering uses a third-party extension trie_filter
PHP implements filtering sensitive words in message messages

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

TosettherighttimezoneinPHP,usedate_default_timezone_set()functionatthestartofyourscriptwithavalididentifiersuchas'America/New_York'.1.Usedate_default_timezone_set()beforeanydate/timefunctions.2.Alternatively,configurethephp.inifilebysettingdate.timez

TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

ThePhpfunctionSerialize () andunserialize () AreusedtoconvertcomplexdaTastructdestoresintostoraSandaBackagain.1.Serialize () c OnvertsdatalikecarraysorobjectsraystringcontainingTypeandstructureinformation.2.unserialize () Reconstruct theoriginalatataprom

You can embed PHP code into HTML files, but make sure that the file has an extension of .php so that the server can parse it correctly. Use standard tags to wrap PHP code, insert dynamic content anywhere in HTML. In addition, you can switch PHP and HTML multiple times in the same file to realize dynamic functions such as conditional rendering. Be sure to pay attention to the server configuration and syntax correctness to avoid problems caused by short labels, quotation mark errors or omitted end labels.

The key to writing clean and easy-to-maintain PHP code lies in clear naming, following standards, reasonable structure, making good use of comments and testability. 1. Use clear variables, functions and class names, such as $userData and calculateTotalPrice(); 2. Follow the PSR-12 standard unified code style; 3. Split the code structure according to responsibilities, and organize it using MVC or Laravel-style catalogs; 4. Avoid noodles-style code and split the logic into small functions with a single responsibility; 5. Add comments at key points and write interface documents to clarify parameters, return values ??and exceptions; 6. Improve testability, adopt dependency injection, reduce global state and static methods. These practices improve code quality, collaboration efficiency and post-maintenance ease.

Yes,youcanrunSQLqueriesusingPHP,andtheprocessinvolveschoosingadatabaseextension,connectingtothedatabase,executingqueriessafely,andclosingconnectionswhendone.Todothis,firstchoosebetweenMySQLiorPDO,withPDObeingmoreflexibleduetosupportingmultipledatabas
