织梦dedecms让文章页自动SEO内链不需要插件
更多精彩就在: 51免费论文网|www.jxszl.com
的时候就是用来做内链的.
织梦DEDECMS让文章页自动SEO内链不需要插件
但是你总发觉得它不怎么好用,总会出这样哪样的问题.但是我们只需要修改I.部分代码就可以让织梦DEDECMS自动替换关键字了,并且只是文档中只要出现了的都完全替换.
打开/include/arc.archives.class.php文件,在修改最后的两个方法,按下面的方法进行修改.
主要修改了ReplaceKeyword里面查询关键字的时候排序的算法,然后注释了I.个判断
/**
*高亮问题修正,排除alttitle直接的字符替换
*
*@paramstring$kw
*@paramstring$body
*@returnstring
*/
functionReplaceKeyword($kw,&$body)
{
global$cfg_cmspath;
$maxkey=V;
$kws=explode(",",trim($kw));//以分好为间隔符
$i=0;
$karr=$kaarr=$GLOBALS[replaced]=array();
//暂时屏蔽超链接
$body=preg_replace("#()(.*)(<)(/a>)#isU",\I.-]-\IV-[-\VI,$body);
/*
foreach($kwsas$k)
{
$k=trim($k);
if($k!="")
{
if($i>$maxkey)
{
break;
}
$myrow=$this->dsql->GetOne("SELECT*FROMidea_keywordsWHEREkeyword=$kANDrpurl<>");
if(is_array($myrow))
{
$karr[]=$k;
$GLOBALS[replaced][$k]=0;
$kaarr[]="
}
$i++;
}
}
*/
$query="SELECT*FROMidea_keywordsWHERErpurl<>ORDERBYkeywordDESC";
$this->dsql->SetQuery($query);
$this->dsql->Execute();
while($row=$this->dsql->GetArray())
{
$key=trim($row[keyword]);
$key_url=trim($row[rpurl]);
$karr[]=$key;
$kaarr[]="
}
//这里可能会有错误
$body=@preg_replace("#(^|>)([^<]+)(?=<|$)#sUe","_highlight(\II,$karr,$kaarr,\I.)",$body);
//恢复超链接
$body=preg_replace("#()#isU",\I.>\III<\IV,$body);
return$body;
}
}//EndArchives
//高亮专用,替换多次是可能不能达到最多次
function_highlight($string,$words,$result,$pre)
{
global$cfg_replace_num;
$string=str_replace(",",$string);
//if($cfg_replace_num>0)
//{
//foreach($wordsas$key=>$word)
//{
//if($GLOBALS[replaced][$word]==I.)
//{
//continue;
//}
//$string=preg_replace("#".preg_quote($word)."#",$result[$key],$string,$cfg_replace_num);
//if(strpos($string,$word)!==FALSE)
//{
//$GLOBALS[replaced][$word]=I.;
//}
//}
//}
//else
//{
$string=str_replace($words,$result,$string);
//}
return$pre.$string;
}
{/dede:channel}
原文链接:http://www.jxszl.com/biancheng/dedecms/75633.html
热门阅读