玛索 发表于 21-2-20 18:24:13

DZ自动获取标签[update]

首先看代码以gbk为例
DZ 获取自动标签代码
<?php

//强制使用字符集

@header('Content-Type: text/html; charset=gbk');

$subjectenc = $_GET['subjectenc'];

$messageenc = preg_replace("/\[.+?\]/U", '', $_GET['messageenc']);

//关键部分,这里是将你网站的文章标题和内容发送到dz的标签库中去匹配,返回的是一个xml文档

$data = @implode('', file("http://keyword.discuz.com/related_kw.html?title=$subjectenc&content=$messageenc&ics=gbk&ocs=gbk"));//把标题和内容发送到dz官方去找

if($data) {//有数据返回

$parser = xml_parser_create();//建立一个 XML 解析器

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 数据解析到数组中

xml_parser_free($parser);

$kws = array();

foreach($values as $valuearray) {//循环单曲xml中的数据到数组$kws

if($valuearray['tag'] == 'kw' || $valuearray['tag'] == 'ekw') {

    $kws[] = siconv(trim($valuearray['value']), ‘gbk’, 'utf-8');//编码转换

   }

}

$return = '';

if($kws) {

foreach($kws as $kw) {

   $return .= $kw.' ';//把获取到的标签用空格链接

}

$return = trim($return);

}

echo$return;//返回匹配到的标签

} else {

echo ' ';//没有匹配的标签

}

?>





eric 发表于 21-2-20 18:24:19

转发了!!

384095638 发表于 21-2-20 18:24:23

生活论坛越来越好!!

kkco66 发表于 21-2-20 18:24:34

社区生活团购东西很划算!棒棒的!

Eternityooooo 发表于 21-2-20 18:24:45

赞!赞!!

京京彩彩 发表于 21-2-20 18:24:43

不错,你好棒!!

玖碍初语 发表于 21-2-20 18:24:55

顶一下,我是来混积分的!!

iyyfcg 发表于 21-2-20 18:25:09

你厉害,牛逼!!
页: [1]
查看完整版本: DZ自动获取标签[update]