在使用DEDE系统时,自动为文章设置Tag是一项非常实用的功能。这不仅可以节省手动操作的时间,还能提高内容管理的效率。以下将详细介绍如何通过修改代码实现根据文章标题自动获取Tag的方法。
首先,需要对article_add_action.php文件进行修改。此文件位于\\dede\\action目录下。具体步骤如下:
在代码中找到“//写入Tag索引”与“InsertTags($dsql,$tag,$arcID,0,$typeid,$arcrank);”这两行之间,插入以下代码:
if($autokey==1){
require_once(DEDEADMIN."/../include/pub_splitword.php");
$tag = "";
$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($tag)>=50) break;
else $tag .= $k." ";
}
/*foreach($allindexs as $k){
if(strlen($keywords)>=50) break;
else if(!in_array($k,$titleindexs)) $keywords .= $k." ";
}*/
}
$sp->Clear();
unset($sp);
//$tag = preg_replace("/#1#|#2#/","",$tag);
$tag = addslashes($tag);
}
上述代码的主要功能是对文章标题进行分词处理,并将结果作为Tag存储。需要注意的是,默认情况下,该代码仅对文章标题进行分词操作。如果希望同时对文章内容进行分词,则需要取消相关代码的注释。
在实际应用中,可能会遇到一些特殊字符干扰分页的问题。例如,“1 等于 p”和“2 等于 e”,这些字符可能会影响最终的分词效果。因此,在代码中进行了替换处理以确保分词的准确性。
最后,值得注意的是,如果希望加入内容分词,请务必删除代码中的注释部分。这样可以进一步提升Tag生成的全面性和精准度。
通过以上方法,您可以轻松实现DEDE系统中根据文章标题自动获取Tag的功能,从而提高网站内容管理的效率和质量。
以上就是关于DEDE设置自动获取Tag功能的具体方法介绍,希望对您有所帮助。