<th id="c2c82"></th>
  • <rp id="c2c82"></rp>
    <button id="c2c82"><object id="c2c82"></object></button>
  • 聯系我們
    你的位置:首頁 > 新聞動態 > 技術動態

    織夢dedecms5.7文檔關鍵詞自動替換內鏈 文章自動插入關鍵詞鏈接

    君恒科技????2021-03-25 15:29:46?????編輯:waker????點擊:

    網上關于織夢dedecms各版本的文檔關鍵詞替換功能都無效,文章自動插入關鍵詞超鏈接都不可以實現。親自測試通過以下代碼,可以修復織夢的文檔關鍵詞并且產生自動鏈接。用織夢dedecms5.7的朋友們有福了。


    織夢管理后臺需要以下設置:

    1、后臺-采集-文檔關鍵詞維護 添加關鍵詞及鏈接;

    2、后臺-系統-核心設置 關鍵字替換(是/否)使用本功能會影響HTML生成速度:是

    3、后臺-系統-其他選項 文檔內容同一關鍵詞替換次數(0為全部替換): 設置一個數值,建議為1。



    修改文件 includerc.archives.class.php

    1、搜索代碼 global $cfg_cmspath;

    下面增加

    global $cfg_replace_num; // 文檔關鍵詞內鏈修復  2021-02-23


    2、搜索代碼  $body = @preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU", "_highlight('\2', $karr, $kaarr, '\\1')", $body);

    替換為如下代碼

    // 文檔關鍵詞內鏈修復  2021-02-23

    //$body = @preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU", "_highlight('\\2', $karr, $kaarr, '\\1')", $body);

    if($cfg_replace_num > 0)

    {

    $query = "SELECT * FROM sky_keywords WHERE rpurl<>'' ORDER BY rank DESC";

    $this->dsql->SetQuery($query);

    $this->dsql->Execute();

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

    {

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

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

    $body = str_replace_limit($key, "$key", $body, $cfg_replace_num);

    }

    }

    else

    {

    $query = "SELECT * FROM sky_keywords WHERE rpurl<>'' ORDER BY rank DESC";

    $this->dsql->SetQuery($query);

    $this->dsql->Execute();

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

    {

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

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

    $body = str_replace($key, "$key", $body);

    }

    }

    // 文檔關鍵詞內鏈修復  2021-02-23


    3、搜索: //高亮專用, 替換多次是可能不能達到最多次

    替換為

    // 文檔關鍵詞內鏈修復   2021-02-23

    //指定替換次數功能  

    function str_replace_limit($search, $replace, $subject, $limit){

     if(is_array($search)){

       foreach($search as $k=>$v){

         $search[$k] = '`'. preg_quote($search[$k], '`'). '`';

       }

     }else{

       $search = '`'. preg_quote($search, '`'). '`';

     }

     return preg_replace($search, $replace, $subject, $limit);

    }

    // 文檔關鍵詞內鏈修復  2021-02-23

    //高亮專用, 替換多次時可能不能達到最多次