JavaScriptを有効にしてください

【PHP】RSSを取得・解析する

 ·  ☕ 2 分で読めます

RSSを取得、解析する

PHPを使用して RSS を解析します。
RSSの取得先ははてなブックマーク を使用しています。

RSS取得

RSS の XML を取得して PHP の配列にするだけの処理です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
// URL
$url = "http://b.hatena.ne.jp/search/tag?q=プログラミング&sort=popular&mode=rss";

// RSS(XML)を取得
$rss = simplexml_load_file($url);

// 一度JSONを経由してPHPの配列化
$json = json_decode(json_encode($rss), true);
var_dump($json);

これだけで可能です。
ただ注意が必要で取得したものが1つだけの場合、配列化する際に $json['item']['title'] になってしまいます。
これに複数ある場合は $json['item'][0]['title'] のようになります。

メソッド化、関数化する際に以下のようにすれば統一された形になります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<?php
// URL
$url = "http://b.hatena.ne.jp/search/tag?q=プログラミング&sort=popular&mode=rss";

// RSS(XML)を取得
$rss = simplexml_load_file($url);

// 一度JSONを経由してPHPの配列化
$json = json_decode(json_encode($rss), true);

if(!is_null($json['item']['title'] ?? null)){
    // 1件のみの場合は配列化
    $json['item'] = [0 => $json['item']];
}

var_dump($json);

参考

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer