织梦关键词内链:dedecms关键词超链接重复替换解决方法
织梦cms有一个功能叫做关键词添加超链接功能(关键词内链),DedeCMS这个功能对于SEO站长来说确实是一个利器;但织梦cms内容关键词替换的时候存在一个错误:如果拥有两个关键词,例如“织梦“(http://www.dedexuexi.com)和“织梦模板“(www.dedexuexi.com/dedemoban/),但在文章替换的时候链接变成了:<a href="http://www.dedexuexi.com/dedemoban/"><u><a href="http://www.dedexuexi.com">服务器</a>托管</u></a>,这样就造成了关键词超链接重复替换。
关键词超链接重复替换解决方案:
这样的嵌套重复替换明显是一个BUG,我们修改下程序解决这个重复替换bug,方法:先替换比较短的关键词,然后再替换长的关键词,如果先去替换“服务器“这个关键词,那么“服务器托管“就不会去替换了。
修改代码方法:
1、找到include/arc.archives.class.php这个文件,在1226行代码,如下:
//高亮专用, 替换多次是可能不能达到最多次 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); uasort($words,create_function('$a, $b','return strlen($a)>strlen($b);'));
本文网址:https://www.dedexuexi.com/dedejiaocheng/azsy/1135.html
本站部分文章搜集与网络,如有侵权请联系本站,转载请说明出处。