码说明
1、敏感词库维护更新脚本:
reload_dict.php,提供自动更新字典库到trie-tree文件的过程
PHP
<?php
// 设置内存
ini_set('memory_limit', '128M');
// 读取敏感词字典库
$handle = fopen('dict.txt', 'r');
// 生成空的trie-tree-filter
$resTrie = trie_filter_new();
while(! feof($handle)) {
$item = trim(fgets($handle));
if (empty($item)) {
continue;
}
// 把敏感词逐个加入trie-tree
trie_filter_store($resTrie, $item);
}
// 生成trie-tree文件
$blackword_tree = 'blackword.tree';
trie_filter_save($resTrie, $blackword_tree);
2、trie树对象获取工具类
FilterHelper.php,提供获取trie-tree对象,避免重复生成trie-tree对象和保证tree文件与敏感词库的同步更新
PHP
<?php
/**
* 过滤器助手
*
* getResTrie 提供trie-tree对象;
* getFilterWords 提取过滤出的字符串
*
* @author W.Y.P (wangyupeng@jiayuan.com)
*/