dedecms替换关键词时发生嵌套错误的解决方案

关键词,对于各位站长朋友们来说应该并不陌生。一个网站 关键词做得好,可以使网站的排名迅速提升。但如果处理不当,也可能出现问题。今天高速度 主机小编在处理售后时遇到了一位dedecms建站的php虚拟主机用户反映链接错误的问题,客户反映在seo时修改关键词后链接就发生错误了。高速度 主机小编经过一系列的检查后,发现这是在关键词替换的时候发生的嵌套错误。然后小编开始尝试修复这个错误,在反复的修改过程中小编我终于找到了一个比较完美的解决方案。这里就把解决方案跟大家分享一下,希望可以帮助遇到同样问题的站长朋友。这个方案的思路就是先替换比较短的关键词,然后再匹配替换长的关键词,这样系统则会先去替换这个关键词,而不会去替换链接中的关键词了。最后我们通过修改include/arc.archives.class.php这个文件中的代码来实现这个方案。首先找到include/arc.archives.class.php这个文件,找到如下代码:

function _highlight($string, $words, $result, $pre){    global $cfg_replace_num;    $string = str_replace('"', '"', $string); 然后在它后面增加一段代码,使它变为:
function _highlight($string, $words, $result, $pre){    global $cfg_replace_num;    $string = str_replace('"', '"', $string);Usaort($words,create_function('$a,$b',return strln($a)>strlen($b);'));
这样就可以解决替换关键词过程中会同时替换链接关键词的问题了。高速度 主机相关文章推荐阅读:DEDECMS后台登录成功后返回到登录界面的解决方法DEDECMS(织梦)程序MYSQL修复表和文章路径修改方法DEDECMS教程:自定义表单发送指定邮件并解决内容乱码等问题

本文地址:https://www.gaosudu.com/dedecms/19825.html