189 8069 5689

dedecms关键词替换的案例-创新互联

小编给大家分享一下dedecms关键词替换的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的殷都网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!问题:在使用dedecms的文档关键词替换功能时,会造成交叉替换

如:

长尾关键词1:男人喝金丝皇菊有什么好处?

长尾关键词2:喝金丝皇菊有什么好处?

主关键词3:金丝皇菊

使用系统默认的功能时,在替换主关键词的时候,会将上面已经替换好的长尾关键词中的“金丝皇菊”也替换掉,从而破坏了原有的长尾关键词锚文本。

解决思路:

1.先将要替换的关键词替换成类似:

关键词1:'#####0#####'
关键词2:'#####2#####'
关键词3:'#####3#####'
再进行以上替换操作的时候,我们需要保存关键词所对应的锚文本,如:
'#####0#####' --> 关键词1的锚文本
'#####1#####' --> 关键词2的锚文本
'#####2#####' --> 关键词3的锚文本
等全部替换完毕后,我们最后再恢复回来
这里,我们主要修改:include/arc.archives.class.php 文件
修改部分如下:

//高亮专用, 替换多次是可能不能达到最多次
function _highlight($string, $words, $result, $pre) {
    global $cfg_replace_num;
    //     if (version_compare(PHP_VERSION, '5.5.0', '>='))
    //     {
    //         $string = $string[0];
    //         $pre = $pre[0];
    //     }
    
    //修改 Start
    $replaced_array = array();
    $replaced_tiems = 0;
    //修改 End
    
    $string = str_replace('\"', '"', $string);
    if ($cfg_replace_num > 0) {
        foreach ($words as $key => $word) {
            if ($GLOBALS['replaced'][$word] == 1) {
                continue;
            }
            //修改 Start
            $replace_string = '#####' . $replaced_tiems . '#####';
            $replaced_array[$replace_string] = $result[$key];
            $string = preg_replace("#" . preg_quote($word) . "#", $replace_string, $string, $cfg_replace_num);
            $replaced_tiems+= 1;
            //修改  End
            //             $string = preg_replace("#".preg_quote($word)."#", $result[$key], $string, $cfg_replace_num);
            if (strpos($string, $word) !== FALSE) {
                $GLOBALS['replaced'][$word] = 1;
            }
        }
        //修改 Start
        foreach ($replaced_array as $k => $v) {
            $string = str_ireplace($k, $v, $string);
        }
        //修改  End

    } else {
        $string = str_replace($words, $result, $string);
    }
    return $pre . $string;
}

注意:这里我们需要在后台修改文档关键词的频率,默认是 频率高的优先替换,频率低的后替换

以上是dedecms关键词替换的案例的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


新闻名称:dedecms关键词替换的案例-创新互联
分享网址:http://jkwzsj.com/article/ddpdop.html

其他资讯