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);
に変更したら正常に表示されました。