欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用PHP讀取RSS feed的代碼

 更新時間:2008年08月01日 13:20:39   作者:  
由于需要讀取不同來源的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://www.dbjr.com.cn/feed",
"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)行選項設(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 />";
}
?>

相關(guān)文章

  • PHP多進(jìn)程通信-消息隊列使用

    PHP多進(jìn)程通信-消息隊列使用

    這篇文章主要介紹了PHP通信-消息隊列使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 淺析Yii2 gridview實現(xiàn)批量刪除教程

    淺析Yii2 gridview實現(xiàn)批量刪除教程

    在朋友圈里有童鞋向我討論GridView的問題,有朋友說你用gridview給我去掉表頭的鏈接?我想的很久,用gridview確實不容易實現(xiàn)。有不同見解的朋友歡迎留言。但是呢,這根gridview有個毛線關(guān)聯(lián)啊,明明是要設(shè)置ActiveDataProvider,你要我怎么用gridview實現(xiàn)嘛
    2016-04-04
  • PHP設(shè)置圖片文件上傳大小的具體實現(xiàn)方法

    PHP設(shè)置圖片文件上傳大小的具體實現(xiàn)方法

    PHP默認(rèn)的上傳限定是最大2M,想上傳超過此設(shè)定的文件,需要調(diào)整PHP、apache等的一些參數(shù)
    2013-10-10
  • Smarty局部緩存的幾種方法簡介

    Smarty局部緩存的幾種方法簡介

    很多時候我們在用smarty時,并不希望緩存整個頁面,例如天氣、股票等這類即時更新的信息。那么我們可以讓其不緩存,這篇文章主要介紹了Smarty局部緩存方法,需要的朋友可以參考下
    2014-06-06
  • laravel5創(chuàng)建service provider和facade的方法詳解

    laravel5創(chuàng)建service provider和facade的方法詳解

    這篇文章主要介紹了laravel5創(chuàng)建service provider和facade的方法,實例分析了laravel創(chuàng)建service、provider和facade類的具體步驟與實現(xiàn)技巧,需要的朋友可以參考下
    2016-07-07
  • Yii框架擴展CGridView增加導(dǎo)出CSV功能的方法

    Yii框架擴展CGridView增加導(dǎo)出CSV功能的方法

    這篇文章主要介紹了Yii框架擴展CGridView增加導(dǎo)出CSV功能的方法,結(jié)合實例形式較為詳細(xì)的分析了Yii框架擴展組件實現(xiàn)導(dǎo)出CSV格式數(shù)據(jù)的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • PHP微信開發(fā)之文本自動回復(fù)

    PHP微信開發(fā)之文本自動回復(fù)

    這篇文章主要為大家詳細(xì)介紹了PHP微信開發(fā)之簡單實現(xiàn)文本自動回復(fù)的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 使用swoole 定時器變更超時未支付訂單狀態(tài)的解決方案

    使用swoole 定時器變更超時未支付訂單狀態(tài)的解決方案

    本文主要是借助 swoole 定時器和 redis 的 zset 來實現(xiàn)的定時檢查并過期未支付訂單,感興趣的朋友跟隨小編一起看看吧
    2019-07-07
  • PHP設(shè)計模式入門之狀態(tài)模式原理與實現(xiàn)方法分析

    PHP設(shè)計模式入門之狀態(tài)模式原理與實現(xiàn)方法分析

    這篇文章主要介紹了PHP設(shè)計模式入門之狀態(tài)模式,結(jié)合實例形式分析了PHP狀態(tài)模式基本概念、原理、實現(xiàn)方法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • Yii框架分頁實現(xiàn)方法詳解

    Yii框架分頁實現(xiàn)方法詳解

    這篇文章主要介紹了Yii框架分頁實現(xiàn)方法,結(jié)合實例形式詳細(xì)分析了基于Yii框架實現(xiàn)分頁的原理、步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05

最新評論