西甲

基于discuz茬线分词批量优化Dede

2019-10-09 03:58:51来源:励志吧0次阅读

dedecms本身自带tag(keywords)提取功能,但分词总是不够精确。当然

,对于日更新十数篇且对seo精确执行的用户来说,手工输入能更好的控制。但对于主题比较宽泛、内容更新量大的用户来说,dede split是不大完美的。

discuz分词是一个免费的提词接口

。后有数十万中文论坛、supsite用户,对于语境、细胞词库的完善有更多的数据。 这个小程序是基于discuz分词批量更新已发内容的keywords(tag),如果数据量大(大于5万)的或者虚拟主机用户的话,最好环境搭到本地。速度会快一点。

使用方法,cms安装目录,新建p,拷入以下内容,自己对应编码用notepad设置相应gbk或utf8。运行 yourwebsite/p?id=1

?phprequire_once(dirname(__FILE__)./include/p);

$id = isset($id) is_numeric($id) ? $id : 0;

for ($a=$id; $a$id+10; $a++){

$row = $dsql-GetOne( SELECT tle,dy FROM `@__archives` arc LEFT JOIN `@__addonarticle` tp ON =d where =$a );if(is_array($row)){$title = $row[title];$body = $row[body];$keywords=zhgetkey($title.$body);$dsql-ExecuteNoneQuery( Update `@__archives` set keywords=$keywords where id=$a );echo $a.:

.$ /;}}if ($a80000){break;}

echo script;echo setTimeout(\place(p?id=$a)\,0);echo /script;

function zhgetkey($contents){$rows = strip_tags($contents);$arr = array( ,

,\s, \r\n, \n, \r, \t, , ,

,br /);$qc_rows = str_replace($arr, , $rows);if(strlen($qc_rows)2400){$qc_rows = substr($qc_rows, 0, 2400);}$data = @implode(, file($qc_rowsics=gbkocs=gbk));preg_match_all(/kw(

.*)A\[(.*)\]\](.*)\/kw/,$data, $out, PREG_SET_ORDER);$key=;for($i=0;$i5;$i++){$key=$key.$out[$i][2];if($out[$i][2])$key=$key.,;}return $key;}

function cutstr_html($string, $sublen)

{

$string = strip_tags($string);

$string = preg_replace (/\n/is, , $string);

$string = preg_replace (/ | /is, , $string);

$string = preg_replace (/nbsp;/is, , $string);

preg_match_all(/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/

, $string, $t_string);

if(count($t_string[0]) 0 $sublen) $string = join(, array_slice($t_string[0], 0, $sublen)).;

else $string = join(, array_slice($t_string[0], 0, $sublen));

return $string;

}

?

如何开微店铺
公司微信小程序开发
有哪些微商城
分享到: