如何实现高效快速替换文章中的关键词? 不要用现有函数来替换。将关键词表长驻内存,自己写一个for循环来做这个替换会快很多。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然str_replace的参数可以使用数组。我相信既然允许数组,php的开发者就肯定对批量替换做了优化。不知道你现在是不是用的这种方法更新。如果你用的是多次str_replace,可以先改为一次replace(数组)的方式试试。 我的意思是你试试把关键词表写成一个文件不要放进数据库。$src=array('一个地址','两个地址','三个地址',...........);$des=array('<a href="">一个地址</a>','<a href="">两个地址</a>','<a href="">三个地址</a>',...........);假设php对替换函数有优化的话就直接用就可以了。$str=str_replace($src,$des,$str);如果速度还是不理想可以考虑自己写替换函数。 字符串替换算法网上很多,可去google搜索。这里写个简单的。假设有关键字 abc,aefae,aefaw,b......,写成类似下列格式$key=array('a'=>array('bc'=>1,'efae'=>1,'efaw'=>1),'b'=>array(..........));$new_str='';for($i=0;$i<str_len($str);$i++){if(!isset($key[$str[$i]])) $new_str.=$str[$i];else{ 深入判断是否有匹配项,有则$new_str.=匹配顶,并$i+=替换字符数}}如果关键字分组后还是特别多,可以多加几层,并用hash编码优化查询。 哪里可以下载到 linux的EclipsePHP的工具啊 谢谢了 PHP截取指定一个网页获取其中一部分内容 google merchant center提交数据文件,状态显示“未插入任何信息条目 ” php在服务器上执行一个程序 【PHP】页面之间传递参数的问题 PHP的优点 怎么从有html代码和javascript的文本中取出相应数据 求一关于取得无限分类结构的函数 唠叨大哥帮我看看SMART 啊,7456 给我一根绳子:phpmyadmin建库!!!! 乱码问题,好怪的问题,大家帮忙看看了.. post数据出现乱码,请帮忙看下呢
'一个地址',
'两个地址',
'三个地址',
...........
);
$des=array(
'<a href="">一个地址</a>',
'<a href="">两个地址</a>',
'<a href="">三个地址</a>',
...........
);假设php对替换函数有优化的话就直接用就可以了。
$str=str_replace($src,$des,$str);如果速度还是不理想可以考虑自己写替换函数。
'a'=>array('bc'=>1,'efae'=>1,'efaw'=>1),
'b'=>array(..........)
);$new_str='';
for($i=0;$i<str_len($str);$i++){
if(!isset($key[$str[$i]])) $new_str.=$str[$i];
else{
深入判断是否有匹配项,有则$new_str.=匹配顶,并$i+=替换字符数
}
}如果关键字分组后还是特别多,可以多加几层,并用hash编码优化查询。