connet.lolipop.jp
RSSについて
RSSとは「rdf site summary」の略語として認識されており、ウェブサイトの見出しや記事の更新情報を特殊な形式にまとめ、配信するためのフォーマットです。
RSSで配信された「RSSフィード」を利用すれば、頻繁に更新するニュースサイトやブログなどの最新情報を効率よく閲覧することができます。
RSSフィードのファイルを取得するには、いくつかの関数が用意されていますが当サイトでは、cURL関数について見ていきます。
ソースコード
RSS 1.0バージョンを取得するソースコードは、例えばこんな感じです。

sample.php
            <?php
      
            //RSS配信先のURLを設定
            $rssurl="ここにRSSバージョン1.0対応のURL";
            
            //セッションの初期化
            $xmlurl = curl_init($rssurl);
            curl_setopt($xmlurl, CURLOPT_RETURNTRANSFER, true); //戻り値を文字列に
            
            //実行
            $contents = curl_exec($xmlurl);
            
            //システムリソースを解放
            curl_close($xmlurl);
            
            //XML文字列をオブジェクトに代入
            $xmlfile = simplexml_load_string( $contents, 'SimpleXMLElement', LIBXML_NOCDATA );
            
            //タイトルを取得
            $mtxml = $xmlfile->channel->title;
            $dxml = $xmlfile->channel->description;
            $rssch = "<h2>".$mtxml."</h2>";
            $rssch .= $dxml."<br /><br /><br />";
            
            //rssフィードを取得
            $rssitem = "";
            date_default_timezone_set('Asia/Tokyo'); //「php.ini」ファイルで設定されていれば必要ありません
            foreach ($xmlfile->item as $getitem) {
              $title2 = $getitem->title;
              $link2 = $getitem->link;
              $date = $getitem->children("http://purl.org/dc/elements/1.1/")->date; /*rss-ver1.0*/
              $date = strtotime($date);
              $date = date("Y年n月j日 G時i分", $date);
              $description2 = $getitem->description;
              $description2 = strip_tags($description2, '<a><img><div>');
              $rssitem .= "<a href = ".$link2." target='_blank'>".$title2."</a><br />";
              $rssitem .= $date."<br />";
              $rssitem .= $description2."<br /><br />";
            }
            
            //rssフィードを表示
            $rss = "";
            $rss = $rssch.$rssitem;
            echo $rss;
            
            ?>

RSSのフォーマットには複数存在しますが、RSSバージョン2.0の取得方法については、上記コードの一部を編集をすればOK。
たとえば以下のような感じです。
            foreach ($xmlfile->channel->item as $getitem) {
              $title2 = $getitem->title;
              $link2 = $getitem->link;
              $date = $getitem->pubDate; /*rss-ver2.0*/
            
              	¦
                ¦
            }

バージョン1.0はchannelタグとitemタグは、分かれています。
対して、
バージョン2.0では、すべてのitemタグは、channelタグ(親)の中に入ってます。
日付はバージョン1.0と違い、pubDateタグから簡単に取得することが出来ます。

RSS配信サイトで、たとえばニュース情報などのソースコードをブラウザで開いて見てください。
XML形式で書かれたファイルから、RSSバージョンや日付等の様々な情報を確認することが出来ます。


↟ このページの先頭へ