Home  >  Article  >  php教程  >  PHP sensitive word filtering uses the third-party extension trie_filter

PHP sensitive word filtering uses the third-party extension trie_filter

黄舟
黄舟Original
2017-03-22 14:29:093320browse

Installation

ubuntu 14.04

Install libdatrie

// 
sudo apt-get install libdatrie-dev

Install trie_filter extension

> git clone  
> cd php-ext-trie-filter
> phpize
> ./configure --with-php-config=/usr/bin/php-config
> make
> make install//添加php扩展,extension=trie_filter.so
> service php5-fpm  restart
> php5-fpm -m //查看

Use

Generate sensitive vocabulary

 $arrWord = array('word1', 'word2', 'word3');  
 $resTrie = trie_filter_new(); //create an empty trie tree
  foreach ($arrWord as $k => $v) {
      trie_filter_store($resTrie, $v);
  }
  trie_filter_save($resTrie, __DIR__ . '/blackword.tree');
  trie_filter_free($resTrie);

Use

$resTrie = trie_filter_load(__DIR__ . '/blackword.tree');    
$strContent = 'hello word2 word1';    
$arrRet = trie_filter_search($resTrie, $strContent);
    print_r($arrRet); //Array(0 => 6, 1 => 5)
    echo substr($strContent, $arrRet[0], $arrRet[1]); //word2
    $arrRet = trie_filter_search_all($resTrie, $strContent);
    print_r($arrRet); //Array(0 => Array(0 => 6, 1 => 5), 1 => Array(0 => 12, 1 => 5))
    foreach ($arrRet as $item) {        echo substr($strContent, $item[0], $item[1]); //word2 word1
    }    $arrRet = trie_filter_search($resTrie, 'hello word');
    print_r($arrRet); //Array()

    trie_filter_free($resTrie);

The above is the content of using third-party extension trie_filter for php sensitive word filtering. For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com)!

Related articles:

An efficient sensitive word filtering method (PHP)

Use PHP to extend trie_filter to do Chinese sensitivity Word filtering

PHP implements filtering sensitive words in message messages

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn