网站整合必备-php调用RSS订阅显示最新文章方法

前几天撤掉了bbs.sdtclass.com这个社区,然后用这个域名改版为网盘,想到了网盘调用本站最新文章,去百度了一圈,发现要不是调用的没有连接,要不调用的有乱码,于是后来结合修改得到了下面的代码!空间服务器支持php就行!

代码参考互联网,如下:

  1. <?php
  2. //RSS地址,列如:http://www.sciencenet.cn/xml/news.aspx?news=0
  3. $rssfeed = array("http://www.sdtclass.com/feed");
  4. //设置编码为UTF-8 ,没了这个会乱码
  5. header('Content-Type:text/html;charset= UTF-8');
  6. for($i=0;$i<sizeof($rssfeed);$i++){//分解开始
  7. $buff = "";
  8. $rss_str="";
  9. //打开rss地址,并读取,读取失败则中止
  10. $fp = fopen($rssfeed[$i],"r"or die("can not open $rssfeed");
  11. while ( !feof($fp) ) {
  12. $buff .= fgets($fp,4096);
  13. }
  14. //关闭文件打开
  15. fclose($fp);
  16. //建立一个 XML 解析器
  17. $parser = xml_parser_create();
  18. //xml_parser_set_option -- 为指定 XML 解析进行选项设置
  19. xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
  20. //xml_parse_into_struct -- 将 XML 数据解析到数组$values中
  21. xml_parse_into_struct($parser,$buff,$values,$idx);
  22. //xml_parser_free -- 释放指定的 XML 解析器
  23. xml_parser_free($parser);
  24. foreach ($values as $val) {
  25. $tag = $val["tag"];
  26. $type = $val["type"];
  27. $value = $val["value"];
  28. //标签统一转为小写
  29. $tag = strtolower($tag);
  30. if ($tag == "item" && $type == "open"){
  31. $is_item = 1;
  32. }else if ($tag == "item" && $type == "close") {
  33. //构造输出字符串 ,显示的地方,可以自定义!
  34. $rss_str .= "<div class=\"result_list\"><a href='".$link."' target=_blank>".$title."</a></div><div class=\"line\"></div>";
  35. $is_item = 0;
  36. }
  37. //仅读取item标签中的内容
  38. if($is_item==1){
  39. if ($tag == "title") {$title = $value;}
  40. if ($tag == "link") {$link = $value;}
  41. }
  42. }
  43. //输出结果
  44. echo $rss_str;
  45. }
  46. ?>

把上面的代码,放在要显示调用RSS的地方即可,RSS地址格式不限制,只要该地址是RSS显示的就可以了!比如我在网上找的这个【ttp://www.sciencenet.cn/xml/news.aspx?news=0】,也可以调用,人家网站是ASP的!

效果示例:

网站整合必备-php调用RSS订阅显示最新文章方法

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

目前评论:14   其中:访客  13   博主  0   引用   1

  1. avatar 第四个李智 3

    这个我找了很多,请问速度如何?

  2. avatar 第四个李智 3

    很勇敢的反馈用不了。。。

评论加载中...

来自外部的引用: 1

  • php技巧-把RSS内容写入数据库实例教程 | SDT技术网

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情