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://hoshiya.biz/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);

に変更したら正常に表示されました。

参考ページ