MagpieRSSでRSSを読み込んで表示する
目次
MagpieRSSをダウンロードして適当なフォルダに保存し、読み込んだ最新記事一覧を表示するページを作成する。
rss.php
<?php
require_once('magpierss/rss_fetch.inc');
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
$count = 5; //最新記事表示件数
$length = 60; //表示する日記記事の最大文字数
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>RSS表示スクリプト</title>
</head>
<body>
<?php
$url = 'http://qwerty.work/index.xml';
$rss = fetch_rss($url);
echo "<ul>";
array_splice($rss->items, $count);
foreach ($rss->items as $item) {
$href = $item['link'];
$title = mb_convert_encoding($item['title'],"SJIS","auto");
$date = date('Y/m/d H:i:s',parse_w3cdtf($item['dc']['date']));
$description = mb_convert_encoding($item['description'],"SJIS","auto");
if (mb_strlen($description) > $length) {
$description =
mb_strcut($description, 0, $length) . "...";
}
echo "<li>";
echo "<FONT color=\"#ff8040\">(" . $date . ")</FONT> ";
echo "<a href=$href>" . $title . "</a><BR>";
echo $description . "</li>";
}
echo "</ul>";
?>
</body>
</html>
PHP5以上の場合は、
Warning: gmmktime() expects parameter 3 to be long, string given in /home/*******/public_html/magpierss/rss_utils.inc on line **
といったエラーが出ます。
そのときは「rss_utils.inc」の35行目 の
$epoch = gmmktime( $hours, $minutes, $seconds, $month, $day, $year);
を
$epoch = gmmktime( $hours, $minutes, substr($seconds,-2,2), $month, $day, $year);
に変更したら正常に表示されました。

