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

分类栏目:织梦建站

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

在论坛里也看到有类似的帖子,但是测试了好多次都没有成功,于是自己进行了一些修改,测试成功,现在拿来和大家分享一下!这里自动获取的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);

  }
 
  这样发表文章时选中自动获取关键词就是只根据文章标题获取关【情不敢至深,恐大梦一场;卦不敢算尽,畏天道无常。】键词了!!

上一篇:DedeCms默认模板修改背景色的方法

下一篇:Dedecms发表文章无法编辑(空白)的解决办法