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

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

代码参考互联网,如下:

  1. <?php
  2. //RSS地址,列如:http://www.sciencenet.cn/xml/news.aspx?news=0
  3. $rssfeed = array(“http://blog.xukhost.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的!

效果示例:

发布者

yumanutong

网名 yumanutong ,简称小草,可以付费找我解决问题哦。