
Google ReaderがなくなってRSSが下火になってきている
なんて噂も聞きますが
RSSは非常に便利です。
更新情報をいちいちサイトにアクセスしなくても
feedlyなどのフィードを登録しておけば
まとめて情報を閲覧できます。
いろいろ更新があるWEBサイトをもっているなら
RSSを出力しておいたほうが訪問者が増加につながっていいとおもいます。
RSSを出力するにあたってPHPで簡単に出力できるクラスが
ありますので紹介します。
PHP クラスFeedCreater
こちらのページよりダウンロードできます。http://feedcreator.org/
RSS生成例
ダウンロードした、ライブラリの中にある「feedcreator.class.php」を使用してRSSを生成する記述例です。// 初期設定
define('TIME_ZONE', '+09:00'); //timezoneの設定
require_once '/path/to/feedcreator.class.php'; //feedcreator.class.phpへのパス
// 基本情報
$rss = new UniversalFeedCreator();
$rss->useCached();
$rss->title="フィードのタイトルを記述";
$rss->description="フィードの説明を記述";
$rss->link="http://フィードのあるサイトのURL/";
$rss->syndicationURL="http://フィードのあるサイトのURL/rss.php"; //このRSSのページURL
foreach($rssdata as $r){
$item = new FeedItem();
$item->title = $r['title'];
$item->link = 'http://フィードのあるサイトのURL/' . $Ymd . '/' . $d['id'];
$item->description = '';
$item->date = strtotime($r['created']);
$item->source = $r['domain'];
$item->author = "フィードのタイトルを記述";
$rss->addItem($item);
}
// RSS出力
$rss->outputFeed("ATOM1.0");
<追記>
こちらのサイトによると2点注意することがあります。
FeedCreator.class.php – PHPでRSSを出力する
UTF-8以外の文字コードエンコードを調整して文字化け対策
FeedCreatorはUTF-8を前提に作られているようでEUC-JP、shit_jisなどで生成したxmlが文字化けが発生するそうです。
文字化け対策
ライブラリのエンコードを直接書き換えて
EUC-JPに変更してみます。
feedcreator.class.phpの497行目を修正します。
var $encoding = “ISO-8859-1″;
↓
var $encoding = “EUC-JP”;
また、Atomの場合は1096行目も変更します。
$this->encoding = “utf-8″;
↓
$this->encoding = “EUC-JP”;
タイムゾーンを日本時間に変更
FeedCreatorのデフォルトのタイムゾーンは、
UTC+1の中央ヨーロッパに設定されています。
ライブラリを直接、日本時間に書き換えてしまいましょう。
日本時間に変更
feedcreator.class.phpの159行目を修正します。
define(“TIME_ZONE”,”+01:00″);
↓
define(“TIME_ZONE”,”+09:00″);
0 件のコメント:
コメントを投稿