Maison >base de données >tutoriel mysql >Exemple de code pour lire un flux RSS en utilisant php

Exemple de code pour lire un flux RSS en utilisant php

怪我咯
怪我咯original
2017-07-11 16:33:542141parcourir

RSS (nom complet RDF Site Summary, définition originale de Netscape), RSS est aussi un langage de description (ou format de document) "de type page Web", défini à l'origine par Netscape, RSS n'a qu'une spécification relativement unifiée (à noter qu'ils sont uniquement les spécifications), l'avenir est incertain (la question des droits d'auteur du RSS 2.0). En tant qu'interface pratique pour partager le contenu d'un site Web, le RSS a été créé très tôt, mais il n'est devenu largement répandu qu'après la popularité des blogs (BLOG).

FEED (la prononciation chinoise de "gras" ou "gaspillé" peut être utilisée) n'est qu'un processus intermédiaire, donc personne au monde ne peut donner une définition précise de FEED, donc il est toujours compris du point de vue de Tianyuan de vue. Vous n’avez pas à vous soucier de la définition de FEED. En fait, FEED n’est rien. Si je dois donner une explication, il serait préférable de la comprendre dans un environnement anglais. Cela semble plus raisonnable. FEED est en fait un « intermédiaire » entre RSS (ou ATOM) et les abonnés, qui joue un rôle dans la livraison en gros de flux. information. Par conséquent, les formats courants de FEED sont RSS et ATOM. L'abonnement FEED mentionné sur Internet devrait toujours être un abonnement RSS ou ATOM pour être plus précis.

<?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 />"; 
} 
?>


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn