大家好,欢迎来到IT知识分享网。
敏感词过滤的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
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10939.html