在使用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功能的具体方法介绍,希望对您有所帮助。