本文教大家:dedecms文档关键词维护之关键词出现多次,只给出现的第一个加链接的

举例:当文章中出现了一百次台历时,按官方的原理,他会给一百个台历都加上链接的。dedecms这如何是好?



解决方法(记得先备份)



一、打开目录include中的arc.archivew.class.PHP



找到function ReplaceKeyword($kw,$body)代码,在最下面。然后一直到最下面。替换以下的代码

function
ReplaceKeyword($kw,$body)


{

global $cfg_cmspath;

$maxkey = 5;

$kws = explode(",",trim($kw)); //以分好为间隔符

$i=0;

$karr = $kaarr = $GLOBALS['replaced'] = array();




//暂时屏蔽超链接

$body = preg_replace("/()(.*)(<)(\/a>)/isU", '\\1-]-\\4-[-\\6', $body);




global $dsql;

$query="SELECT * FROM zmb_keywords WHERE rpurl<>'' and sta=1 ORDER BY length(keyword)desc";


$dsql->SetQuery($query);

$dsql->Execute();

while($row = $dsql->GetArray())

{

$key = trim($row['keyword']);

$key_url=trim($row['rpurl']);

$karr[] = $key;

$kaarr[] = "$key";


}

foreach ($karr as $key => $word)

{



$body = preg_replace("/(^|>)([^<]+)(?=<|$)/sUe","_highlight('\\2', \$karr[$key], \$kaarr[$key], '\\1')", $body);


//echo $body."

";



//恢复超链接

$body = preg_replace("/()/isU",'\\1>\\3<\\4', $body);


//暂时屏蔽超链接

$body = preg_replace("/()(.*)(<)(\/a>)/isU", '\\1-]-\\4-[-\\6', $body);




}



//恢复超链接

$body = preg_replace("/()/isU",'\\1>\\3<\\4', $body);


return $body;

}



}//End Archives



//高亮专用, 替换多次是可能不能达到最多次

function _highlight($string, $words, $result, $pre)


{

global $cfg_replace_num;

$string = str_replace('\"', '"', $string);



if($GLOBALS['replaced'][$words] == 1)

{

return $pre.$string;

}



if($cfg_replace_num > 0)

{

$string = preg_replace("/".preg_quote($words)."/", $result, $string, $cfg_replace_num);


if(strpos($string, $words) !== false)

{

$GLOBALS['replaced'][$words] = 1;

//echo $words;

}



}

else

{

$string = str_replace($words, $result, $string);


}

return $pre.$string;

}

二、进入DEDE后台,系统-系统基本参数-其他选项的最后一行。文档内容同一关键词替换次数(0为全部替换),修改为1。

三、进入文档关键词维护,维护需要加入链接的关键词和链接即可。重新生成,效果就出来了。

相关链接:http://www.zhimengba.com/jsjc/79.html

DedeCms文档关键词替换,优先替换长尾关键词的更多相关文章

  1. dedecms文档长尾关键词,根据频率先替换长尾关键词再替换主关键词

    问题:在使用dedecms的文档关键词替换功能时,会造成交叉替换 如: 长尾关键词1:男人喝金丝皇菊有什么好处? 长尾关键词2:喝金丝皇菊有什么好处? 主关键词3:金丝皇菊 使用系统默认的功能时,在替 ...

  2. JAVA Freemarker + Word 模板 生成 Word 文档 (普通的变量替换,数据的循环,表格数据的循环,以及图片的东替换)

    1,最近有个需求,动态生成 Word 文当并供前端下载,网上找了一下,发现基本都是用 word 生成 xml 然后用模板替换变量的方式 1.1,这种方式虽然可行,但是生成的 xml 是在是太乱了,整理 ...

  3. Excel文档间的数据替换 ---电脑版APP 自动操作魔法师

    http://www.won-soft.com/macro/solution/excel-data-replace.htm 介绍: 在我们的日常工作中, 可能经常需要使用同各种数据表格打交道.比如财务 ...

  4. 优秀的目录文档内容查找,替换工具,可以飞快的帮助你查询大IIS日志哟。

    这,是一款飞速的目录文档中内容查找的工具. 它,飞快精准的帮助你查询到你想搜索的文档中的内容. 它,是一款由非常牛B,我都不晓得姓名的作者开发的,冒失是C++的windows应用. 你,非常需要他. ...

  5. 吴裕雄--天生自然python学习笔记:python文档操作自动查找替换 Word 文件中的指定文字

    Win32com 组件提供了自动替换 Word 文件中指定文字 的功能 .在使用“查找” 功能替换文字之前,可先清除源文字及目标文字的格式,以免影响替换效果,语法为 : 替换 Word 文件特定文字的 ...

  6. word文档中查找和替换空格符和回车符

    空格符:^l 回车符:^p

  7. 解决织梦dedecms文档关键字(自动内链)php5.5以上失效的问题 urf-8版本的

    找到include/arc.archives.class 在里面需要修改两次地方 在1230行 // 这里可能会有错误 if (version_compare(PHP_VERSION, '5.5.0' ...

  8. C# Word文档中插入、提取图片,文字替换图片

    Download Files:ImageOperationsInWord.zip 简介 在这篇文章中我们可以学到在C#程序中使用一个Word文档对图像的各种操作.图像会比阅读文字更有吸引力,而且图像是 ...

  9. Java中常用到的文件操作那些事(一)——替换doc文档模板,生成真实合同案例

    工作中,我们时常会遇到一些操作文件的操作,比如在线生成合同模板,上传/下载/解析Excel,doc文档转为pdf等操作.本文就已工作中遇到的在线生成合同为例,简要地介绍一种文档替换写法. 本文目的:给 ...

随机推荐

  1. 解决Wireshark没有网卡问题

    wireshark在mac上使用没有网卡问题直接在终端输入命令:sudo chmod 644 /dev/bpf*

  2. CentOS系统Kernel panic - not syncing: Attempted to kill init

    结果启动虚拟机出现如下问题: Kernel panic - not syncing: Attempted to kill init     解决方法: 系统启动的时候,按下'e'键进入grub编辑界面 ...

  3. Owl Carousel – 支持触摸的 jQuery 响应式传送带插件

    Owl Carousel 是一个 jQuery 插件,使我们能够迅速地创建响应式传送带滑块.这个插件是触摸友好的,能与几乎任何的 HTML 内容兼容使用.另外,强大的选项设置支持分页/滑动速度,启用/ ...

  4. Smint – 用于单页网站制作的 jQuery 导航菜单插件

    Smint 是一款用于实现单页风格网站的 jQuery 导航插件,包含两部分:固定在页面顶部的精美导航条和能够在你点击的时候自动滚动到对应内容的菜单按钮.Smint 使用非常简单,只有一个参数用于设置 ...

  5. Scroll Depth – 衡量页面滚动的 Google 分析插件

    Scroll Depth 是一个小型的 Google Analytics(谷歌分析)插件,可以让你衡量用户在页面上滚动了多远.它可以监控 25%.50%.75% 和 100% 四个滚动点,并发送谷歌分 ...

  6. swift学习笔记之-可选链式调用

    //可选链式调用 import UIKit /*可选链式调用(Optional Chaining) 1.在可选值上请求和调用该可选值的属性.方法及下标的方法,如果可选值有值,那么调用就会成功,返回可选 ...

  7. 最近喜欢听的英文歌——Because Of You - Kelly Clarkson

    没了解过歌曲背景,总觉得像是一首女儿唱给母亲的歌= =也许是我的错觉 I will not make the same mistakes that you did 我不会重复你犯过的错误 I will ...

  8. 如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示

    /// <summary> /// 获取图片库第一层文件夹--根据文件夹名称排序 /// </summary> /// <param name="siteUrl ...

  9. Linux下运行windows程序

    现在Winxp停止了支持,那我们的windows程序是否可以再linux上执行呢,如下是一些参考的信息 在您的 Linux/Mac 操作系统上运行 Windows 软件 http://www.wine ...

  10. iOS 三方库fmdb 的使用

    使用fmdb 做本地数据的存储非常方便, 1. github 上搜索fmdb 下载压缩包 导入到工程中 (如果你的mac 有cocoapod 也可以直接通过cocoapod 添加) 2. 以下代码是通 ...