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

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

你可能感兴趣的:(Discuz!自动获取标签实现方法)