1. <label id="ebhjw"><s id="ebhjw"></s></label>
    1. <address id="ebhjw"></address>
    2. <label id="ebhjw"></label>
    3. 联系我们
      你的位置:首页 > 新闻动态 > 技术动态

      织梦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

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

      啦啦啦视频在线观看大全免费
      1. <label id="ebhjw"><s id="ebhjw"></s></label>
        1. <address id="ebhjw"></address>
        2. <label id="ebhjw"></label>