- <?php
- //强制使用字符集
- @header('Content-Type: text/html; charset=gbk');
- $subjectenc ='用“超级站长”安装Discuz!和UCHome,超级简单!'; //这是标题
- $messageenc = preg_replace("/\[.+?\]/U", '', '用“超级站长”安装Discuz!和UCHome,超级简单!'); //这是内容
- //关键部分,这里是将你网站的文章标题和内容发送到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[] = iconv('utf-8','gbk',$valuearray['value']);//编码转换
- }
- }
- //最后出来的是数组.
- print_r($kws);
- $return = '';
- if ($kws){
- foreach($kws as $kw){
- $return .= $kw.' '; //把获取到的标签用空格链接
- }
- $return = trim($return);
- }
- echo $return; //返回匹配到的标签
- }else{
- echo' '; //没有匹配的标签
- }
- ?>