全国400电话网上服务平台
强大号码库资源任选,方便,快捷,快速开通。
咨询热线:400-1100-266
强大号码库资源任选,方便,快捷,快速开通。
咨询热线:400-1100-266
dedecms站内链接(描文本)的增强与优化
POST TIME:2018-04-22 22:14
分享的是dedecms一个非常实用的技巧,用过dede的人都知道,dede文章内链生成需要在后台添加文章的时候在关键词处填上想被链接的词,同时还要在关键词维护中有该关键词。
由于一篇文章关键词数量有限,且文章包含的词众多,除了该篇文章主要的关键词之外,对于其他页面有所关系的词最好也能链上,这点,盗贼的做得比较好。
那修改一个地方,可以实现当文章中出现关键词维护中的词的时候,生成的时候就会自动链接。
修改方式如下:
找到include/arc.archives.class 文件下的:ReplaceKeyword 函数。
将这部分改成以下代码:
- functionReplaceKeyword($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($kwsas$k)
- {
- $k=trim($k);
- if($k!="")
- {
- /*if($i>$maxkey)
- {
- break;
- }
- $myrow=$this->dsql->GetOne("select*fromdede_keywordswherekeyword='$k'Andrpurl<>''");
- if(is_array($myrow))*/
- $dsql=newDedeSql(false);
- $query="select*fromdede_keywordswhererpurl<>''";
- $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[]=“<ahref=’$rul’><u>$key</u></a>”;
- }
- }
- {
- $karr[]=$k;
- $GLOBALS['replaced'][$k]=0;
- $kaarr[]=“<atarget=&;_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;
- }
- }//EndArchives
Copyright © 2003-2016
时间:9:00-21:00 (节假日不休)
版权所有:巨人网络(扬州)科技有限公司
总部地址:江苏省信息产业基地11号楼四层
《增值电信业务经营许可证》 苏B2-20120278
时间:9:00-21:00 (节假日不休)
版权所有:巨人网络(扬州)科技有限公司
总部地址:江苏省信息产业基地11号楼四层
《增值电信业务经营许可证》 苏B2-20120278