星联网络专注帝国CMS二次功能插件开发-精品网站模板站长代码素材

  • 最近更新
  • 模板:33
  • 记录:12641|
  • 插件:52|
  • 工具:4|
  • 代码:8|
  • 评论:0

dedecms站内链接(描文本)的增强与优化

前言

本文主要讲解《dedecms站内链接(描文本)的增强与优化》的详细内容

本织梦58分享的是dedecms一个非常实用的技巧,用过dede的人都知道,dede文章内链生成需要在后台添加文章的时候在关键词处填上想被链接的词,同时还要在关键词维护中有该关键词。

由于一篇文章关键词数量有限,且文章包含的词众多,除了该篇文章主要的关键词之外,对于其他页面有所关系的词最好也能链上,这点,织梦58的做得比较好。

那修改一个地方,可以实现当文章中出现关键词维护中的词的时候,生成的时候就会自动链接。
修改方式如下:

找到include/arc.archives.class 文件下的:ReplaceKeyword 函数。

将这部分改成以下代码:

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);  
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))*/  
$dsql = new DedeSql(false);  
$query="select * from dede_keywords where rpurl<>'' ";  
$dsql->SetQuery($query);  
$dsql->Execute();  
while($row = $dsql->GetArray())  
{  
$key = trim($row['keyword']);  
$rul=trim($row['rpurl']);  
if($rul!=”")  
if(!in_array($key, $kw))  
if(!in_array($kw,$key))  
if(substr_count($body,$key)<5)  
{  
$karr[] = $key;  
$kaarr[] = “<a href=’$rul’><u>$key</u></a>”;  
}  
}  
{  
$karr[] = $k;  
$GLOBALS['replaced'][$k] = 0;  
$kaarr[] = “<a target=\”_blank\” href=\”{$myrow['rpurl']}\”>$k</a>”;  
}  
$i++;  
}  
}  
$body = preg_replace(”/(^|>)([^<]+)(?=<|$)/sUe”, “_highlight(’\\2′, \$karr, \$kaarr, ‘\\1′)”, $body);  
//恢复超链接  
$body = preg_replace(”/()/isU”, ‘\\1>\\3<\\4′, $body);  
return $body;  
}  
}//End Archives  

织梦58推荐大家使用

本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。

本文地址:http://www.xlkjgs.com/notes/web/8202.html

以上内容由本站整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

星联网络

星联网络是中国最具实战的互联网创业者的知识服务商,这里有互联网行业动态,网络推广,SEO优化,SEM优化,ESC配置,行业经验分型,互联网项目,微信营销、淘宝客赚钱、新媒体营销、京东运营、跨境电商等众多互联网营销知识分享

站长运营站长必备网站运营之道才能长久发展