返回首页
当前位置: 主页 > 网络编程 > Php实例教程 >

php敏感词过滤扩展php-ext-trie-filter的安装使用基础教程

时间:2017-10-02 22:59来源:知行网www.zhixing123.cn 编辑:麦田守望者

php-ext-trie-filter扩展地址:https://github.com/wulijun/php-ext-trie-filter

安装php-ext-trie-filter扩展前需要安装他的依赖库libdatrie,依赖库下载地址:http://linux.thai.net/~thep/datrie/datrie.html#Download,目前最新版本是0.2.9,但是我下载不下来,只找到0.2.4的能下载,我把该文件传到文章里:

libdatrie-0.2.4.tar.gz

下面说详细步骤:

1.安装libdatrie

cd /usr/local/src/
wget http://unun.in/ueditor/php/upload/file/20151230/1451485607118662.gz
tar zxvf 1451485607118662.gz
cd libdatrie-0.2.4
make clean
./configure --prefix=/usr/local/libdatrie
make
make install2.安装php-ext-trie-filter

cd /usr/local/src/
wget https://github.com/wulijun/php-ext-trie-filter/archive/master.zip
unzip master.zip
cd php-ext-trie-filter-master/
phpize
./configure --with-php-config=/usr/bin/php-config --with-trie_filter=/usr/local/libdatrie
make
make install3.修改php.ini,然后增加一行:extension=trie_filter.so,保存配置并重启php

4.使用trie-filter扩展创建一个敏感词库文件

public function indexAction()
{
//敏感词数组
$words = array('管理员','admin','你妈');
//创建一个空的trie tree
$resTrie = trie_filter_new();
//向trie tree中添加敏感词
foreach ($words as $k => $v) {
trie_filter_store($resTrie, $v);
}
//生成敏感词文件
trie_filter_save($resTrie,'./dirty_words.dic');
}运行该方法可以得到一个dirty_words.dic脏字字典文件,下次使用的时候可以直接引入该文件就行

5.使用trie-filter扩展进行敏感词过滤

// 加载脏字词典
$resTrie = trie_filter_load('./dirty_words.dic');
//准备要过滤的文本
$content = '打撒杀死大家阿斯看管理得到顶管理员顶顶顶的dfdfkjdfkjkjdfjrtrtiayuewfjdjsjdfssakcvgadminretyyu速度思考坑';
//在文本中查找一个脏字,
//该函数的返回值是一个数组,第一个值为脏字出现的位置,第二个值为脏字的长度,拿到返回值后,可以用substr等函数获取脏字
$res1 = trie_filter_search($resTrie, $content);
print_r($res1);
//在文本中查找所有的脏字
$res2 = trie_filter_search_all($resTrie, $content);
print_r($res2);
//在脚本结束的时候,trie tree会自动销毁,不过我们可以通过trie_filter_free在执行过程中销毁一个trie tree
//返回值为bool值
trie_filter_free($resTrie);


这里对php-ext-trie-filter扩展做个备份。

 

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):php php敏感词过滤
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
猜你感兴趣