国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > DedeCMS > DedeCms根据文档标题自动获取tag(标签)

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

来源:程序员人生   发布时间:2013-11-30 01:34:15 阅读次数:3238次

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

  }

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

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生