Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] DZ自动获取标签【修改版】怎么用,3.2能用不

[复制链接]
wuyin731 发表于 2016-11-13 21:10:41 | 显示全部楼层 |阅读模式
DZ自动获取标签【修改版】



  1. 代码
  2. 首先看代码以gbk为例
  3. <?php
  4. //强制使用字符集

  5. @header('Content-Type: text/html; charset=gbk');

  6. $subjectenc = $_GET['subjectenc'];

  7. $messageenc = preg_replace("/\[.+?\]/U", '', $_GET['messageenc']);

  8. //关键部分,这里是将你网站的文章标题和内容发送到dz的标签库中去匹配,返回的是一个xml文档

  9. $data = @implode('', file("http://keyword.discuz.com/related_kw.html?title=$subjectenc&content=$messageenc&ics=gbk&ocs=gbk"));//把标题和内容发送到dz官方去找

  10. if($data) {//有数据返回

  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) {//循环单曲xml中的数据到数组$kws

  18.   if($valuearray['tag'] == 'kw' || $valuearray['tag'] == 'ekw') {

  19.     $kws[] = siconv(trim($valuearray['value']), ‘gbk’, 'utf-8');//编码转换

  20.    }

  21. }

  22. $return = '';

  23. if($kws) {

  24.   foreach($kws as $kw) {

  25.    $return .= $kw.' ';//把获取到的标签用空格链接

  26.   }

  27.   $return = trim($return);

  28. }

  29. echo  $return;//返回匹配到的标签

  30. } else {

  31. echo ' ';//没有匹配的标签

  32. }

  33. ?>
复制代码
这个要怎么用?请高手指点
 楼主| wuyin731 发表于 2016-11-13 21:20:02 | 显示全部楼层
  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. ?>  
复制代码
还有这个,怎么用啊,

我想让发帖的时候自动匹配我已有的标签
回复

使用道具 举报

lz49858007 发表于 2016-11-14 13:32:49 | 显示全部楼层
本帖最后由 lz49858007 于 2017-3-3 15:10 编辑

我也搞不懂怎么用啊。。









回复

使用道具 举报

 楼主| wuyin731 发表于 2016-11-14 14:05:44 | 显示全部楼层
有大仙出来看看
回复

使用道具 举报

 楼主| wuyin731 发表于 2016-11-15 16:14:24 | 显示全部楼层
有没有人知道,谢谢
回复

使用道具 举报

那妞狠美 发表于 2016-11-15 16:43:43 来自手机 | 显示全部楼层
lz49858007 发表于 2016-11-14 13:32
我也搞不懂怎么用啊。。

不知道是什么情况
回复

使用道具 举报

 楼主| wuyin731 发表于 2016-11-19 21:46:17 | 显示全部楼层
有没有人,给看看啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-25 03:23 , Processed in 0.033000 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表