返回首頁
當前位置: 主頁 > 精通Office > Ubuntu教程 >

Typecho調用RSS實現程序代碼

時間:2013-06-06 23:26來源:知行網www.ayratv.icu 編輯:麥田守望者

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
------分隔線----------------------------
推薦內容
猜你感興趣
pk10赛车直播视频