单行道 发表于 2010-10-16 01:38:28

SupeSite7.5 所有的文章自动生成TAG

先解释下思路

1、把文章列表出来

2、列表时调用listgettag('"'.$listvalue['subject'].'"')获取标题tag

3、通过javascript 设置 setTimeout 把列表tag内容提交

4、提交每个文章内容时处理tag,生成relativetags、includetags字段内容

5、把relativetags、includetags字段内容提交到数据库

6、跳转到下一个列表页。

7、重复上面的操作。

希望能帮到你。

单行道 发表于 2010-10-16 01:39:04

1、修改文件admincp.php106行

修改array('items', 'comments', 'attachments', 'tags', 'reports', 'reportmanage'),



array('items', 'comments', 'attachments', 'tags','gettag', 'reports', 'reportmanage'),


2、修改文件batch.common.php 271行
增加内容
elseif($action == 'relatetag') {

$subjectenc = rawurlencode(strip_tags($_GET['subjectenc']));
$messageenc = rawurlencode(strip_tags($_GET['messageenc']));
$return = '';
$data = @implode('', file("http://search.qihoo.com/sint/related_kw.html?title=$subjectenc&content=$messageenc&ics=$charset&ocs=$charset"));
if($data) {
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($parser, $data, $values, $index);
xml_parser_free($parser);

$kws = array();

foreach($values as $valuearray) {
if($valuearray['tag'] == 'kw' || $valuearray['tag'] == 'ekw') {
if(PHP_VERSION > '5' && $charset != 'utf-8') {
$valuearray['value'] = encodeconvert("UTF-8", $valuearray['value']);
} else {
$valuearray['value'] = trim($valuearray['value']);
}
$kws[] = $valuearray['value'];
}
}

if($kws) {
foreach($kws as $kw) {
$kw = htmlspecialchars($kw);
$return .= $kw.' ';
}
$return = htmlspecialchars($return);
}

}
echo $return;
}

3、上传gettag.php到admin目录

吉安信息港 发表于 2011-9-23 15:29:57

http://网址/admincp.php?action=gettag
页: [1]
查看完整版本: SupeSite7.5 所有的文章自动生成TAG