Discuz!自动获取标签实现方法

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. ?>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值