织梦关键词内链:dedecms关键词超链接重复替换解决方法

  织梦cms有一个功能叫做关键词添加超链接功能(关键词内链),DedeCMS这个功能对于SEO站长来说确实是一个利器;但织梦cms内容关键词替换的时候存在一个错误:如果拥有两个关键词,例如“织梦”(http://www.wangjinhai119.com)和“织梦教程”(www.wangjinhai119.com/zmjc/),但在文章替换的时候链接变成了:

  <a href="http://www.wangjinhai119.com/zmjc/"><u><a href="http://www.wangjinhai119.com">服务器</a>托管</u></a>,这样就造成了关键词超链接重复替换。

  关键词超链接重复替换解决方案:

  这样的嵌套重复替换明显是一个BUG,我们修改下程序解决这个重复替换bug,方法:先替换比较短的关键词,然后再替换长的关键词,如果先去替换“服务器”这个关键词,那么“服务器托管”就不会去替换了。

  修改代码方法:

  1、找到include/arc.archives.class.php这个文件,在1226行代码,如下:
1 //高亮专用, 替换多次是可能不能达到最多次
2 function _highlight($string$words$result$pre)
3 {
4   global $cfg_replace_num;
5   $string str_replace('"''"'$string);

  后面增加一段代码,变成即可
1 //高亮专用, 替换多次是可能不能达到最多次
2 function _highlight($string$words$result$pre)
3 {
4  global $cfg_replace_num;
5 $string str_replace('"''"'$string);
6  uasort($words,create_function('$a, $b','return strlen($a)>strlen($b);'));
 

支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论