PHP讀取RSS feed源代碼(帶注釋,可讀取多個源)_PHP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:PHP開發(fā)大型項(xiàng)目的方法:OOP思想面向?qū)ο缶幊痰母拍睿? 不同的作者之間說法可能不一樣,但是一個OOP語言必須有以下幾方面: 抽象數(shù)據(jù)類型和信息封裝、繼承、多態(tài) 在PHP中是通過類來完成封裝的: 代碼:
因?yàn)榫W(wǎng)站需要讀取不同來源的rss feed,寫了一個php程序來循環(huán)讀取rss feed,為了方便閱讀及了解程序?qū)崿F(xiàn)過程,加上了注釋,和大家共同學(xué)習(xí)。而助易網(wǎng)的rss讀取就是在這個程序的基礎(chǔ)上稍做改造而成,主要是輸出了一個數(shù)組字符串以及解決編碼問題。
php源代碼及代碼詳細(xì)解釋如下:
<?php
//RSS源地址列表數(shù)組 $rssfeed = array("http://hl5o.cn/rss.php", "http://rss.sina.com.cn/news/allnews/sports.xml", "http://ent.163.com/special/00031K7Q/rss_toutiao.xml", "http://tech.163.com/special/00091JPQ/techimportant.xml"); //設(shè)置編碼為UTF-8 header('Content-Type:text/html;charset= UTF-8'); for($i=0;$i<sizeof($rssfeed);$i ){//分解開始 $buff = ""; $rss_str=""; //打開rss地址,并讀取,讀取失敗則中止 $fp = fopen($rssfeed[$i],"r") or die("can not open $rssfeed"); while ( !feof($fp) ) { $buff .= fgets($fp,4096); } //關(guān)閉文件打開 fclose($fp); //建立一個 XML 解析器 $parser = xml_parser_create(); //xml_parser_set_option -- 為指定 XML 解析進(jìn)行選項(xiàng)設(shè)置 xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1); //xml_parse_into_struct -- 將 XML 數(shù)據(jù)解析到數(shù)組$values中 xml_parse_into_struct($parser,$buff,$values,$idx); //xml_parser_free -- 釋放指定的 XML 解析器 xml_parser_free($parser); foreach ($values as $val) { $tag = $val["tag"]; $type = $val["type"]; $value = $val["value"]; //標(biāo)簽統(tǒng)一轉(zhuǎn)為小寫 $tag = strtolower($tag); if ($tag == "item" && $type == "open"){ $is_item = 1; }else if ($tag == "item" && $type == "close") { //構(gòu)造輸出字符串 $rss_str .= "<a href='".$link."' target=_blank>".$title."</a><br />"; $is_item = 0; } //僅讀取item標(biāo)簽中的內(nèi)容 if($is_item==1){ if ($tag == "title") {$title = $value;} if ($tag == "link") {$link = $value;} } } //輸出結(jié)果 echo $rss_str."<br />"; } ?> |
原文鏈接:http://www.blog-dragon.com/2008/07/php-read-rssfeed.html
分享:動態(tài)網(wǎng)頁制作PHP常用的正則表達(dá)式匹配中文字符的正則表達(dá)式: [u4e00-u9fa5] 匹配雙字節(jié)字符(包括漢字在內(nèi)): [^
相關(guān)PHP教程:
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時間
- PHP中獎概率的抽獎算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- 解析用PHP操作MySql數(shù)據(jù)庫(DB類)
- php 深入理解strtotime函數(shù)
- PHP技巧:PHP文件系統(tǒng)基本操作類
- PHP靜態(tài)調(diào)用非靜態(tài)方法的應(yīng)用分析
- PHP與正則表達(dá)系列之一: PHP中的正則表達(dá)式
- 解析PHP漢字驗(yàn)證碼的實(shí)現(xiàn)
- 解析PHP編寫的25個游戲腳本
- PHP實(shí)例:用PHP編寫的網(wǎng)上調(diào)查投票系統(tǒng)
- PHP中header和session_start前不能有輸出的原因
- php插入中文到sql server 2008里出現(xiàn)亂碼的解決辦法
- 相關(guān)鏈接:
- 教程說明:
PHP教程-PHP讀取RSS feed源代碼(帶注釋,可讀取多個源)
。