悟途网移动版

DEDECMS

悟途网 > CMS > DEDECMS > 正文

分享织梦DEDECMS关键词怎么自动添加超链接优化

2013-06-06 22:34 悟途网 T

织梦DEDECMS关键词怎么自动添加超链接优化解决方法(先备份)

第一步:打开目录include中的arc.archivew.class.php这个文件中有两个函数需要修改ReplaceKeyword和_highlight

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

functionReplaceKeyword($kw,&$body)

{

global$cfg_cmspath;

$maxkey=5;

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

$i=0;

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

//暂时屏蔽超链接

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

global$dsql;

$query="SELECT*FROMdede_keywordsWHERErpurl<>''andsta=1ORDERBYlength(keyword)desc";

$dsql->SetQuery($query);

$dsql->Execute();

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

{

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

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

$karr[]=$key;

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

}

foreach($karras$key=>$word)

{

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

//echo$body."<br/>";

//恢复超链接

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

//暂时屏蔽超链接

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

}

//恢复超链接

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

return$body;

}

}//EndArchives

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

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

第三步:去添加你的关键词吧。

第四步:生成