各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

dedecms关键词替换方案

管理员 2023-09-05
PHP
111

dedecms关键词替换方案

内容导读

收集整理的这篇技术教程文章主要介绍了dedecms关键词替换方案,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2020字,纯文字阅读大概需要3分钟

内容图文

本篇文章主要讲述了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;}

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

相关教程:PHP视频教程

以上就是dedecms关键词替换方案的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的dedecms关键词替换方案全部内容,希望文章能够帮你解决dedecms关键词替换方案所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

扫码关注

qrcode

QQ交谈

回顶部