找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 207|回复: 0

[cms教程] dedecms站内链接(描文本)的增强与优化

[复制链接]

该用户从未签到

发表于 2021-8-4 09:35:19 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
AB模板网分享的是dedecms一个非常实用的技巧,用过dede的人都知道,dede文章内链生成需要在后台添加文章的时候在关键词处填上想被链接的词,同时还要在关键词维护中有该关键词。
         
        由于一篇文章关键词数量有限,且文章包含的词众多,除了该篇文章主要的关键词之外,对于其他页面有所关系的词最好也能链上,这点,织梦模板做得比较好。
         
        那修改一个地方,可以实现当文章中出现关键词维护中的词的时候,生成的时候就会自动链接。
        修改方式如下:
         
        找到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(”/()(.*)()/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))([^\\3
                               
                       
               
       
       
        AB模板网推荐大家使用
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-2 02:35

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表