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);
} //phpfensi.com
return $pre . $string;
}
注意:这里我们需要在后台修改文档关键词的频率,默认是 频率高的优先替换,频率低的后替换。
上一篇:详解织梦模板DEDECMS核心类TypeLink.class.php功能分析
栏 目:DedeCMS
本文标题:dedecms关键词替换方案
本文地址:https://zz.feitang.co/CMSjiaocheng/27655.html
您可能感兴趣的文章
- 12-07Dedecms默认模板用户评论扩展
- 12-07DEDECMS匿名发布文章的修改教程
- 12-07DedeTag Engine Create File False DEDE栏目生成错误
- 12-07DEDECMS两年的网站优化经验
- 12-07dedecms防止被挂马必看安全知识
- 12-07DedeCms完美的FLASH幻灯代码
- 12-07dedecms首页幻灯片显示问题帮助教程
- 12-07DedeCms栏目内容过多分为2行显示
- 12-07Dedecms自动更新首页html插件
- 12-07DEDECMS循环滚动图片制作教程


阅读排行
推荐教程
- 09-22IIs Web网站的添加及配置
- 12-04dedecms织梦dede:channel标签的数字递增调用方法
- 12-07DEDECMS的{dede:arclist}如何调用文章或软件的任何字段
- 12-05DEDECMS后台功能说明书
- 12-02织梦(DEDECMS)将data目录迁移到web根目录之外
- 12-07DEDECMS完美无缝整合UC心得
- 12-04DedeCMS织梦后台模板列表如何按字母排序方法代码
- 12-04DedeCms获取任意栏目N级列表链接树形菜单的方法
- 12-07dedecms首页幻灯片显示问题帮助教程
- 12-04详解织梦模板DEDECMS搜索结果调用自定义字段的方法





