PHPでRSS/Atomを取ってきて表示

PHPでRSS,ATOMを取ってくる

PHPでRSS,ATOM取ってきて表示するライブラリを利用。
RSS & Atom Feeds for PHP

準備と導入

gitからclone、composerお好きな方をどうぞ

git

$ git clone https://github.com/dg/rss-php.git

composer

$ php composer.phar require dg/rss-php

一番簡単な実装簡例

<?php
// 取ってきたFeed.phpを読み込む
require_once('rss-php/src/Feed.php');

$feed = new Feed;

// ヤフーニュースの主要カテゴリを取得
$url  = "https://news.yahoo.co.jp/pickup/rss.xml";

// RSSの場合
$feed = $feed->loadRss($url);
// ATOMの場合
//$atom = Feed::loadAtom($url);

$feed_line = [];
foreach( $feed->item as $item )
{
    $feed_line[] = [
        'title'       => $item->title,
        'link'        => $item->link,
        'timestamp'   => strtotime( $item->pubDate ),
    ];
}

var_dump($feed_line);

実行結果



$ php rss.php
array(8) {
  [0]=>
  array(3) {
    ["title"]=>
    object(SimpleXMLElement)#10 (1) {
      [0]=>
      string(39) "首相 消費税率10%中止しない"
    }
    ["link"]=>
    object(SimpleXMLElement)#9 (1) {
      [0]=>
      string(39) "https://news.yahoo.co.jp/pickup/6261991"
    }
    ["timestamp"]=>
    int(1511252319)
  }
  [1]=>
  array(3) {
    ["title"]=>
    object(SimpleXMLElement)#4 (1) {
      [0]=>
      string(40) "笹子崩落 前社長ら書類送検へ"
    }
    ["link"]=>
    object(SimpleXMLElement)#7 (1) {
      [0]=>
      string(39) "https://news.yahoo.co.jp/pickup/6261983"
    }
    ["timestamp"]=>
    int(1511252319)
  }
...
...
..
.