Heim  >  Artikel  >  Datenbank  >  Codebeispiel zum Lesen von RSS-Feeds mit PHP

Codebeispiel zum Lesen von RSS-Feeds mit PHP

怪我咯
怪我咯Original
2017-07-11 16:33:542048Durchsuche

RSS (vollständiger Name RDF Site Summary, die ursprüngliche Definition von Netscape). RSS ist auch eine „webseitenähnliche“ Beschreibungssprache (oder ein Dokumentformat), die ursprünglich von Netscape definiert wurde. RSS verfügt nur über relativ einheitliche Spezifikationen (beachten Sie, dass dies der Fall ist). nur Spezifikationen), die Zukunft ist ungewiss (das Urheberrechtsproblem von RSS 2.0). Als praktische Schnittstelle zum Teilen von Website-Inhalten wurde RSS schon früh entwickelt, wurde aber erst populär, als Blogs (BLOG) populär wurden.

FEED (die chinesische Aussprache von „Fett“ oder „verschwendet“ kann verwendet werden) ist nur ein Zwischenprozess, sodass niemand auf der Welt eine genaue Definition von FEED geben kann, sodass es aus Tianyuans Sicht immer noch verstanden wird Sie müssen sich keine Gedanken über die Definition von FEED machen. Tatsächlich ist FEED nichts. Wenn ich eine Erklärung geben muss, wäre es besser, sie in einer englischen Umgebung zu verstehen. Es scheint sinnvoller zu sein, dass FEED tatsächlich der „Vermittler“ zwischen RSS (oder ATOM) und Abonnenten ist, der eine Rolle bei der Großhandelslieferung spielt Information. Daher sind die gängigen Formate von FEED RSS und ATOM. Das im Internet erwähnte FEED-Abonnement sollte immer noch RSS- oder ATOM-Abonnement sein, um genauer zu sein.

<?php 
//RSS源地址列表数组 
$rssfeed = array("http://www.jb51.net/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"); 

//设置编码为UTF-8 
header(&#39;Content-Type:text/html;charset= UTF-8&#39;);      

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); 
    } 
    //关闭文件打开 
    fclose($fp); 

    //建立一个 XML 解析器 
    $parser = xml_parser_create(); 
    //xml_parser_set_option -- 为指定 XML 解析进行选项设置 
    xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1); 
    //xml_parse_into_struct -- 将 XML 数据解析到数组$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"]; 
        //标签统一转为小写 
        $tag = strtolower($tag); 

        if ($tag == "item" && $type == "open"){ 
            $is_item = 1; 
        }else if ($tag == "item" && $type == "close") { 
            //构造输出字符串 
            $rss_str .= "<a href=&#39;".$link."&#39; target=_blank>".$title."</a><br />"; 
            $is_item = 0; 
        } 
        //仅读取item标签中的内容 
        if($is_item==1){ 
            if ($tag == "title") {$title = $value;}         
            if ($tag == "link") {$link = $value;} 
        } 
    } 
    //输出结果 
    echo $rss_str."<br />"; 
} 
?>


Das obige ist der detaillierte Inhalt vonCodebeispiel zum Lesen von RSS-Feeds mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn