更多>
最新下载
24小时阅读排行榜
- 1 css border 不显示是什么原因_边框属性常见问题排查
- 2 什么是AJAX以及如何在javascript中实现_怎样与服务器进行异步通信【教程】
- 3 html5播放rtsp怎么投屏_html5rtsp投屏电视方法【扩展】
- 4 css grid布局中隐式网格是怎么产生的_通过自动扩展规则说明
- 5 javascript如何操作JSON数据?_如何进行JSON字符串和对象的相互转换?【教程】
- 6 什么是异步JavaScript_回调函数如何使用【教程】
- 7 c++中如何将字符串转换为整数_c++ string转int方法【详解】
- 8 Golang Web接口返回慢如何排查_Golang接口性能分析方法
- 9 Postman如何测试XML上传接口 Postman发送form-data和raw XML
- 10 mysql安装完成后如何配置事件调度器_mysql任务管理配置
- 11 Three.js/Babylon.js如何加载上传的X3D/Collada格式XML
- 12 什么是mysql锁_mysql锁基础概念说明
- 13 c# 如何写日志 log4net
- 14 php动态网站开发怎样防止重复提交_PHP动态网站防重复提交法【方案】
- 15 css定位与布局的结合_使用position与display优化布局
更多>
最新教程
-
- Node.js 教程
- 16304 2025-08-28
-
- CSS3 教程
- 1546993 2025-08-27
-
- Rust 教程
- 23428 2025-08-27
-
- Vue 教程
- 25868 2025-08-22
-
- PostgreSQL 教程
- 22367 2025-08-21
-
- Git 教程
- 9318 2025-08-21
下载首页 / 类库下载 / 其它类库
<?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算法、学习查找替换等。
本站所有资源都是由网友投搞发布,或转载各大下载站,请自行检测软件的完整性!本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!如有侵权请联系我们删除下架,联系方式:admin@php.cn
