加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

DedeCms根据文档标题自动获取tag(标签)

发布时间:2020-12-14 04:05:18 所属栏目:Dedecms 来源:网络整理
导读:在论坛里也看到有类似的帖子,但是测试了好多次都没有成功,于是自己进行了一些修改,测试成功,现在拿来和大家分享一下!这里自动获取的tag其实就是利用自动获取关键词的原理获取的,所以这样获得的tag和关键词是一样的!! ? 1、只根据文章标题获取关键词的修
在论坛里也看到有类似的帖子,但是测试了好多次都没有成功,于是自己进行了一些修改,测试成功,现在拿来和大家分享一下!这里自动获取的tag其实就是利用自动获取关键词的原理获取的,所以这样获得的tag和关键词是一样的!!
?
  1、只根据文章标题获取关键词的修改方法:
?
  因为文章内容繁多,dede默认的获取关键词是根据标题和内容获取的,会获取很多无用的关键词,而只根据标题获取则会相对大大减少无用关键词的数量,修改方法如下:
?
  打开dede/action/article_add_action.php文件,分别查找如下代码:
?
  //自动获取文章中的关键字
?
  和
?
  //自动分页
?
  将其之间的代码替换为如下代码:
?
  
//----------------------------------

  if($autokey==1){

  require_once(DEDEADMIN."/../include/pub_splitword_[url]www.php[/url]");

  $keywords = "";

  $sp = new SplitWord();

  $titleindexs = explode(" ",trim($sp->GetIndexText($sp->SplitRMM($title))));

  // $allindexs = explode(" ",trim($sp->GetIndexText($sp->SplitRMM(Html2Text($body)),200)));

  // if(is_array($allindexs) && is_array($titleindexs)){

  foreach($titleindexs as $k){

  if(strlen($keywords)>=50) break;

  else $keywords .= $k." ";

  }

  // foreach($allindexs as $k){

  // if(strlen($keywords)>=50) break;

  // else if(!in_array($k,$titleindexs)) $keywords .= $k." ";

  // }

  // }

  $sp->Clear();

  unset($sp);

  $keywords = preg_replace("/@p@|@e@/","",$keywords); //将前面的@换为#

  $keywords = addslashes($keywords);

  }
?
  这样发表文章时选中自动获取关键词就是只根据文章标题获取关键词了!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读