轻源码

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
一起源码网 门户 帝国CMS 查看主题

修改自DEDECMS的自动关键字获取

发布者: mego | 发布时间: 2018-4-14 10:22| 查看数: 5657| 评论数: 1|帖子模式

[tr]                                                                [td]                                                                        看有人需要就放出来了, 文件下载在3楼,如果直接替换的话,请按照11楼将enews.php进行下修改,不然分割符就不是帝国需要的逗号而是空格了,(感谢hs999的反馈),请到24楼下载!

增加了2个文件(admin/Keyword/dede_wwwdic.csv,admin/Keyword/pub_splitword_www.php),
修改了1个文件 (admin/enews.php)

修改步骤如下:

打开 enews.php 找到 79行 //增加信息 至 //修改信息
用以下内容替换


elseif($enews=="AddNews")
{
        //修改开始
        /*******************************
        //织梦分词算法 www.dedecms.com
        //带词性标志的算法,使用方法:
        //普通分词 tryNumName,识别数量词及人名,$tryDiff 岐义处理
        //$strok = $sp->SplitRMM(string $str,bool $tryNumName,bool $tryDiff)
        //在DedeCms内使用的词典是从热门词中选出来的词典,不适用于通用的分词算法
        //本算法经过简化处理,取消了部份消岐规则
        ********************************/
        require_once(dirname(__FILE__)."../Keyword/pub_splitword_www.php");
        //获得HTML里的文本
        function SpHtml2Text($str){
          $str = preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU","",$str);
          $alltext = "";
          $start = 1;
          for($i=0;$i<strlen($str);$i++){
                if($start==0 && $str[$i]==">") $start = 1;
                else if($start==1){
                  if($str[$i]=="<"){ $start = 0; $alltext .= " "; }
                  else if(ord($str[$i])>31) $alltext .= $str[$i];
                }
          }
          $alltext = str_replace(" "," ",$alltext);
          $alltext = preg_replace("/&([^;&]*)(;|&)/","",$alltext);
          $alltext = preg_replace("/[ ]+/s"," ",$alltext);
          return $alltext;
        }
        //获取关键词
        function GetKeywords($title,$body){
                $keywords = "";
                $sp = new SplitWord();
                $titleindexs = explode(" ",trim($sp->GetIndexText($sp->SplitRMM($title))));
                $allindexs = explode(" ",trim($sp->GetIndexText($sp->SplitRMM(spHtml2Text($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);
                return $keywords;
         }
$key1=GetKeywords($_POST['keyboard'],$_POST['newstext']);
$key1=trim("$key1",",");
$a2=array(keyboard=>"$key1");
$news=$a2+$_POST;
        $navtheid=(int)$_POST['filepass'];
AddNews($news,$logininid,$loginin);
/** 修改结束 by sooden
//不喜欢的直接删除以上部分,恢复下面2行。
//        $navtheid=(int)$_POST['filepass'];
//AddNews($_POST,$logininid,$loginin);
*/
}





或者直接下载后解压到admin目录下,替换原来文件。


只测试了4.6,理论上3.6以上版本都适用。

                                                                [/td]                                                        [/tr]

最新评论

Ehua 发表于 2022-6-8 05:57
编程源代码下载

浏览过的版块

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表