返回大旺国际登录网站
当前位置: 主页 > 精通Office > Ubuntu教程 >

Typecho调用RSS实现程序代码

时间:2013-06-06 23:26来源:大旺国际登录网站www.zhixing123.cn 编辑:麦田守望者

Wordpress小工具已经内置了RSS工具,可以输入RSS地址然后在前台显示该地址最近更新的条目,说白了就是显示别人博客的最新文章。但是Typecho里面并没有这种工具,大家就要通过代码来实现。  

首先,在文本编辑器里新建文档,粘贴下面的代码,并且命名为rss.class.php

 
  1. <?php   
  2. class ReadRSS{   
  3. var $url;   
  4. var $content;   
  5. var $values;   
  6. function ReadRSS($url){   
  7. $this->url=$url;   
  8. }   
  9. function ReadFile(){   
  10. $fp = fopen($this->url,"r");   
  11. while ( !feof($fp) ) {   
  12. $this->content .= fgets($fp,4096);   
  13. }   
  14. fclose($fp);   
  15. }   
  16. function ReadXML(){   
  17. $parser = xml_parser_create();   
  18. xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);   
  19. xml_parser_set_option($parser,XML_OPTION_TARGET_ENCODING,'UTF-8');   
  20. //设置编码,目前只支撑ISO-8859-1、US-ASCII 和 UTF-8,也可以不设置,与目标编码一致   
  21. xml_parse_into_struct($parser,$this->content,$this->values);   
  22. xml_parser_free($parser);   
  23. }   
  24. function RSS($n=10){   
  25. $this->ReadFile();   
  26. $this->ReadXML();   
  27. $in_item = 0;   
  28. $i=0;   
  29. $read=array();   
  30. foreach ($this->values as $value) {   
  31. $tag = $value["tag"];   
  32. $type = $value["type"];   
  33. $value = $value["value"];   
  34. $tag = strtolower($tag);   
  35. if ($tag == "item" && $type == "open") {   
  36. $in_item = 1;   
  37. else if ($tag == "item" && $type == "close"){   
  38. $read[$i]['link']=$link;   
  39. $read[$i]['title']=$title;   
  40. if ($pubDate) {   
  41. $read[$i]['pubDate']=$pubDate;   
  42. }   
  43. $read[$i]['description']=$description;   
  44. $in_item = 0;   
  45. $i++;   
  46. if ($i>=$n) {   
  47. break;   
  48. }   
  49. }   
  50. if ($in_item) {   
  51. switch ($tag) {   
  52. case "title":   
  53. $title = $value;   
  54. break;   
  55. case "link":   
  56. $link = $value;   
  57. break;   
  58. case "pubDate":   
  59. $pubDate = $value;   
  60. break;   
  61. case "description":   
  62. $description = $value;   
  63. break;   
  64. }   
  65. }   
  66. }   
  67. return $read;   
  68. }   
  69. }   
  70. ?>   

把rss.class.php上传到网站根目录,然后编辑当前主题,在你想显示的地方粘贴以下代码:

 
  1. <?php    
  2. include_once('rss.class.php');    
  3. $url="http://zhixing123.cn/feed"; //RSS地址    
  4. $rss=new ReadRSS($url);    
  5. $values=$rss->RSS(5);    
  6. // 5可以改成别的数字,这是读取feed的条数    
  7. foreach ($values as $value) {    
  8. echo '<li><a target="_blank" href="'.$value["link"].'">'.$value["title"].'</a></li>';    
  9. }    
  10. ?>   

到这一步就大功告成啦,有问题请留言。

------分隔线----------------------------
标签(Tag):Ubuntu Linux Android 操作系统 Unix fedora debian
------分隔线----------------------------
推荐内容
猜你感兴趣
XML 地图 | Sitemap 地图