更多>
最新下载
24小时阅读排行榜
- 1 《ARC Raiders》上线!耕升 RTX 5070 Ti 追风 OC 2.0体验搜打撤新秀
- 2 Go语言JSON编码:深入解析Marshal操作
- 3 一加周销量创历史新高:市占率达3.3%
- 4 cURL 8.17.0 发布
- 5 Java循环中避免IndexOutOfBoundsException的策略与实践
- 6 如何在Go测试代码中获取堆栈跟踪
- 7 JavaScript中嵌套函数访问全局变量:理解作用域与变量遮蔽
- 8 React中API数据处理与.map渲染:类型定义与状态管理实践
- 9 深入理解Go语言中基于Handler的中间件与请求数据传递
- 10 Go语言中生成安全会话令牌:加密级随机数的应用与实践
- 11 Maven BOM 依赖详解:理解与应用
- 12 Unicode与多语言字符识别:告别十六进制边界误区
- 13 Java模型类中标准Getter和Setter方法的规范与实践
- 14 Java中文件上传前重命名策略详解
- 15 理解JavaScript事件节流:setTimeout的正确应用与常见误区
更多>
最新教程
-
- Node.js 教程
- 7345 2025-08-28
-
- CSS3 教程
- 1037041 2025-08-27
-
- Rust 教程
- 11664 2025-08-27
-
- Vue 教程
- 13897 2025-08-22
-
- PostgreSQL 教程
- 10686 2025-08-21
-
- Git 教程
- 5113 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

