【未测试】Discuz!自动获取标签实现方法(转载)-Discuz教程下载

【未测试】Discuz!自动获取标签实现方法(转载)

开通本站Svip会员,全站资源免费下
Discuz!自动获取TAG.html" target="_blank" class="relatedlink">标签实现方法(转载)

Java代码
  1. <?php  
  2. //强制使用字符集  
  3. @header('Content-Type: text/html; charset=gbk');     
  4. $subjectenc ='用“超级站长”安装Discuz!和UCHome,超级简单!'; //这是标题     
  5. $messageenc = preg_replace("/\[.+?\]/U", '', '用“超级站长”安装Discuz!和UCHome,超级简单!'); //这是内容     
  6. //关键部分,这里是将你网站的文章标题和内容发送到dz的标签库中去匹配,返回的是一个xml文档  
  7. $data = @implode('', file("http://keyword.discuz.com/related_kw.html?title=$subjectenc& content=$messageenc&ics=gbk&ocs=gbk"));   
  8. //把标题和内容发送到dz官方去找  
  9. if ($data){  
  10.     //有数据返回  
  11.     $parser = xml_parser_create(); //建立一个 XML 解析器  
  12.     xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);  
  13.     xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);  
  14.     xml_parse_into_struct($parser, $data, $values, $index); //将 XML 数据解析到数组中  
  15.     xml_parser_free($parser);  
  16.     $kws = array();  
  17.     foreach($values as $valuearray){  
  18.         //循环单曲xml中的数据到数组$kws  
  19.         if ($valuearray['tag'] == 'kw' || $valuearray['tag'] == 'ekw'){  
  20.             $kws[] = iconv('utf-8','gbk',$valuearray['value']);//编码转换   
  21.         }  
  22.     }  
  23.   
  24.     //最后出来的是数组.  
  25.     print_r($kws);   
  26.     $return = '';  
  27.     if ($kws){  
  28.         foreach($kws as $kw){  
  29.             $return .= $kw.' '; //把获取到的标签用空格链接  
  30.         }  
  31.         $return = trim($return);  
  32.     }  
  33.     echo $return; //返回匹配到的标签  
  34. }else{  
  35.     echo' '; //没有匹配的标签  
  36. }  
  37. ?>  
复制代码

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部