php的敏感词过滤类库,敏感词过滤的php类库

敏感词过滤的php类库

class Logic_BlackWord

{

const APP_FORUM = 1;

const APP_BLOG  = 2;

const APP_VOTE  = 3;

public function getHitList($txt)

{

$hitList = array();

$max = $this->getMax();

if($max)

{

$size = 1000;

$last = ceil($max/$size);

for($page=1;$page<=$last;$page++)

{

$result = $this->getHitListByPage($txt,$page,$size);

if($result) $hitList = array_merge($hitList,$result);

}

}

$hitList2 = array();

foreach($hitList as $hit=>$type)

{

$hitList2[$type][] = $hit;

}

return $hitList2;

}

本类库的敏感词替换算法,效率比str_replace高4倍(附6仟个敏感词),这个类库是没有学习过Trie树的时候写的,之后我接触了AC算法,我的算法和AC是类似的结构和逻辑,都是利用树,空间换时间,对搜索/替换海量数据帮助很明显。

strtr是KMP算法的代表,在对待海量词汇上面,并无优势,并且每次都要加载词库到内存。

使用AC算法写成扩展,将词库加载内存中,是最好的处理方式。

所以badword.src.php可供学习AC算法、学习查找替换等。

申明:php中文网下载站匠心打造专业的IT资源下载站!一切资源免费,来源网络收集,请自行检测软件的完整性。交流QQ群:916808767

你可能感兴趣的:(php的敏感词过滤类库)