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. ?>  
相关文章
|
JavaScript 前端开发
JS 下载 URL 链接文件(点击按钮、点击a标签、支持代理与非代理下载)
JS 下载 URL 链接文件(点击按钮、点击a标签、支持代理与非代理下载)
601 0
|
4月前
|
数据安全/隐私保护
自定义密码访问跳转页面HTML源码
自定义密码访问跳转页面HTML源码,源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
55 0
自定义密码访问跳转页面HTML源码
|
JavaScript 前端开发 SEO
dedecms标签调用大全
dedecms标签调用大全
113 0
使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具
使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具
146 0
使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具
Confluence 6 属性的一个示例
下面是有关 Confluence 页面被调用的前几行的访问概述。 [344ms] - /display/ds/Confluence+Overview [313ms] - SiteMesh: parsePage: h...
1011 0
|
监控
Confluence 6 使用页面请求属性来对慢性能进行问题解决
这个页面告诉你如何启用页面请求属性。当这个属性启用以后,你可以查看在 Confluence 任何页面完成的一个记录消耗的时间(毫秒)。
1164 0