>  기사  >  데이터 베이스  >  PHP를 사용하여 RSS 피드를 읽는 코드 예제

PHP를 사용하여 RSS 피드를 읽는 코드 예제

怪我咯
怪我咯원래의
2017-07-11 16:33:542116검색

RSS(전체 이름 RDF 사이트 요약, Netscape의 원래 정의), RSS는 원래 Netscape에서 정의한 "웹페이지와 유사한" 설명 언어(또는 문서 형식)이기도 하며, RSS는 상대적으로 통일된 사양만을 갖습니다(단지 사양), 미래는 불확실합니다(RSS 2.0의 저작권 문제). 웹사이트 콘텐츠 공유를 위한 편리한 인터페이스로 RSS는 초기에 만들어졌지만 블로그(BLOG)가 인기를 얻은 후에야 대중화되었습니다.

FEED(중국어 발음으로는 '뚱뚱하다', '낭비하다' 등을 쓸 수 있음)는 중간 과정일 뿐이어서 세계 어느 누구도 FEED에 대해 정확한 정의를 내릴 수 없기 때문에 여전히 Tianyuan의 관점에서는 이해가 되실 겁니다 여러분 FEED에 신경 쓸 필요가 없습니다. FEED의 정의는 실제로 아무것도 아닙니다. 설명을 하자면, 영어 환경에서 이해하는 것이 더 합리적일 것 같습니다. FEED는 실제로 RSS(또는 ATOM)와 가입자 사이의 "중개자"로서, 도매 배송을 돕는 역할을 합니다. 정보. 따라서 FEED의 일반적인 형식은 RSS와 ATOM입니다. 인터넷에서 언급되는 FEED 구독은 여전히 ​​RSS 또는 ATOM 구독이어야 합니다.

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


위 내용은 PHP를 사용하여 RSS 피드를 읽는 코드 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.