[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] |
|