前回の記事で Atom 1.0 を作成するためのライブラリを作ったので、同じようにして RSS 2.0(Really Simple Syndication) フォーマットでの XML フィードを生成するライブラリを作ってみました。RSS 2.0 の主要な機能はカバーしていますが一部の機能は実装されていないので必要に応じて追加して下さい。
Download: rss2-1.0.1.zip
ライセンス上の制限はありませんが無保証ですのでご利用の際は自己責任で使用して下さい。(CC0)
・使用例
<?php include_once 'Rss2/RssFeed.php'; include_once 'Rss2/RssItem.php'; $rss = new RssFeed(); $rss->title('サイトタイトル'); $rss->description('サイトの説明文です'); $rss->link('http://example.com/'); $rss->atomLink('http://example.com/rss.xml'); $item = new RssItem(); $item->title('記事1'); $item->description('ここに要約が入ります'); $item->link('http://example.com/1'); $item->guid('http://example.com/1'); $item->pubDate('2015-01-02 12:23:34'); $rss->addItem($item); header('Content-type:application/rss+xml'); echo $rss->saveXML();
・出力結果
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title>サイトタイトル</title> <description><![CDATA[サイトの説明文です]]></description> <link>http://example.com/</link> <atom:link href="http://example.com/rss.xml" rel="self" type="application/rss+xml"/> <item> <title>記事1</title> <description><![CDATA[ここに要約が入ります]]></description> <link>http://example.com/1</link> <guid isPermaLink="true">http://example.com/1</guid> <pubDate>Fri, 02 Jan 2015 12:23:34 +0900</pubDate> </item> </channel> </rss>
・RssFeed 主要メソッド
<channel>の内容に関する関数です。
必須項目は title, link, description です。
__construct(属性の配列) save(保存先) saveXML() addItem(RssItemオブジェクト) title(タイトル) description(要約) link(サイトURL) atomLink(フィードURL) pubDate(発行日時) lastBuildDate(コンテンツ最終変更日時) language(言語) webMaster(メールアドレス) managingEditor(メールアドレス) copyright(著作権) ttl(有効期限の「分」) addCustomElement(要素名, 値, 属性の配列, CDATAの有無)
・RssItem 主要メソッド
<item>の内容に関する関数です。記事の分だけ作成します。
最低でも title か description のどちらかが必要です。
title(タイトル) link(記事URL) guid(一意な文字列, isPermaLink属性) description(要約) enclosure(添付ファイルのURL, ファイルサイズ, コンテンツタイプ) comments(コメントページURL) category(カテゴリー名) author(作成者のメールアドレス) dcCreator(作成者の名前) addCustomElement(要素名, 値, 属性の配列, CDATAの有無)
作成したフィードを HTML ファイルからリンクするには <head> に次のタグを挿入します。
<link rel="alternate" type="application/rss+xml" title="タイトル" href="ファイルの場所" />