批量维护->文档关键字维护其实这个当时设计出来的时候就是用来做内链的.
织梦DEDECMS让文章页自动SEO内链不需要插件
但是你总发觉得它不怎么好用,总会出这样哪样的问题.但是我们只需要修改I.部分代码就可以让织梦DEDECMS自动替换关" />

"景先生毕设|www.jxszl.com

织梦dedecms让文章页自动SEO内链不需要插件

2022-10-29 16:32编辑: www.jxszl.com景先生毕设
{dede:channeltype=toprow=I.0}
  • 扯远了,说明天的重点关键字内链",其实织梦DEDECMS之前考虑过这个问题的,但是有I.些BUG.织梦DEDECMS后台里面核心->批量维护->文档关键字维护其实这个当时设计出来

     更多精彩就在: 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[]="$k";
    }
    $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[]="$key";
    }

    //这里可能会有错误
    $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