欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

DEDECMS 内容中的关键字自动加上链接

shiping1 的头像

DEDECMS 全站关键字自动添加链接的方法

 
DEDECMS的全内链方案,所有设置关键词的内链都会在文档中创建,突破keyword的限制。 
注:因为我的网站关键字有几万个,怕使用这个修改后,生成HTML的时候会非常的慢,所以大家如果有测试在用的.请贴个结果,说明执行效率如何,感激不尽.谢谢.

1.修改系统参数—>核心设置—>关键字替换(是/否)使用本功能会影响HTML生成速度(这里选 是)

2.修改 include/arc.archives.class.php

找到

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

在下方加入以下代码

//设置所有关键词 
$dsql12 = new DedeSql(); 
$query1="select * from dede_keywords"; 
$dsql12->SetQuery($query1); 
$dsql12->Execute();

while($kws = $dsql12->GetArray()) 
{

再找到:

if($i > $maxkey) 

break; 
}

并删除。

找到

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

在其上方加上一个

}

3.核心—>文档关键词维护—>增加一个关键字和链接重新生成文章即可。

来自  http://www.veryhuo.com/a/view/14590.html


比如 我在文档关键词维护里添加一个关键词 给了链接地址 然后我想 添加文档之后在浏览的时候 内容出现这个关键词 并有我给的链接地址 请详解 或者给个方法 我实现之后 加分

提问者采纳
 
1、后台-采集-文档关键词维护 添加关键词及链接

2、后台-系统-核心设置 关键字替换(是/否)使用本功能会影响HTML生成速度: 是

3、后台-系统-其他选项 文档内容同一关键词替换次数(0为全部替换): 设置一个数值 (这里顺便提一下,比如一篇文章含有互相包含关键词,比如dede和dedecms,系统会把后面的dedecms会被dede替代,我的做法是,关键词替换次数设置为1次,然后文档关键词维护那里把dede和dedecms的频率设置成一样,就搞定了。)

修改文件:/include/arc.archives.class.php

查找以下代码:
引用

foreach($kws as $k)
{
$k = trim($k);
if($k!="")
{
if($i > $maxkey)
{
break;
}
$myrow = $this->dsql->GetOne("select * from #@__keywords where keyword='$k' And rpurl<>'' ");
if(is_array($myrow))
{
$karr[] = $k;
$GLOBALS['replaced'][$k] = 0;
$kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";
}
$i++;
}
}

将以上代码替换为以下代码:
引用

global $dsql;

$query="SELECT * FROM dede_keywords WHERE rpurl<>'' ORDER BY rank DESC";

$dsql->SetQuery($query);

$dsql->Execute();

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

{

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

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

$karr[] = $key;

$kaarr[] = "<a href='$key_url' target='_blank'><u>$key</u></a>";

}

来自 http://zhidao.baidu.com/link?url=Xi_oR5nsf8EbP_vepykMmWoHXcCENUM4LAZSOuKAOGnW2qA8fojRnCmIyaqWaTNW8pjX-VkFw7AYkD2kQXDe7K



dedecms自动给已经发布过的文章中的关键词加超链接

来源:互联网 作者:佚名 时间:09-14 22:58:32   
dedecms自动给已经发布过的文章中的关键词加超链接,这样有助于优化,不过优化过度也不好。

复制代码
代码如下:

foreach($kws as $k) 

$k = trim($k); 
if($k!=”") 

if($i > $maxkey) 

break; 

$myrow = $this->dsql->GetOne(“select * from dede_keywords where keyword=’$k’ And rpurl<>” “); 
if(is_array($myrow)) 

$karr[] = $k; 
$GLOBALS['replaced'][$k] = 0; 
$kaarr[] = “<a href=’{$myrow['rpurl']}’><u>$k</u></a>”; 

$i++; 


把它替换成: 

复制代码
代码如下:

global $dsql; 
$query=”SELECT * FROM dede_keywords WHERE rpurl<>” ORDER BY rank DESC”; 
$dsql->SetQuery($query); 
$dsql->Execute(); 
while($row = $dsql->GetArray()) 

$key = trim($row['keyword']); 
$key_url=trim($row['rpurl']); 
$karr[] = $key; 
$kaarr[] = “<a href=’$key_url’ target=’_blank’><u>$key</u></a>”; 

友情提示一下:文件的修改请注意备份! 
在后台,系统设置里设定一下自动替换的次数就行了

来自 http://www.jb51.net/cms/32057.html

普通分类: