★★★ お知らせ ★★★



このブログは移転しました。
新しいサイトはこちらになります。

今後とも、どうぞよろしくお願い致します。

2009年7月2日木曜日

RSSリーダー

Bloggerに書いた記事リストを、自動で塾のHP上に表示させるRSSリーダーを
PHPでつくってみました

作成にあたり、「グーグルカレンダーのデータを表示させる - PHPプロ!Q&A掲示板」を参考にさせて頂きました

この場を借りてお礼を申し上げます




タグクラウド風のレイアウトで、省スペース設計!


我ながらお気に入りだったりw


ちなみに、マウスオーバー(マウスのポインターを文字の上に乗せること)で
記事のカテゴリーがポップアップ表示されます


Blogger限定ですが、いちお、ソースコード公開しておきますねw

お好みに合わせて改造してくださいな


<?php
// 要XMLLibrary.php → http://keithdevens.com/software/phpxml/xml.php
require('XMLLibrary.php');

function array2encode($array, $toEncode, $fromEncode=null){
if (!$fromEncode) {
$fromEncode = 'auto';
}
if (is_array($array)) {
foreach ($array as $key => $value) {
$result[$key] = array2encode($value, $toEncode, $fromEncode);
}
} else {
$result = mb_convert_encoding($array, $toEncode, $fromEncode);
}
return $result;
}

$data = file_get_contents("http://tsukasa-nakanishi.blogspot.com/feeds/posts/default?alt=rss");
$array = XML_unserialize($data);

// 全XMLデータ吐き出しチェック用
//echo '<pre>';
//print_r($array);
//echo '</pre>';
//echo '---------------<br>';

// 配列の個数
$end = count($array['rss']['channel']['item']);

// 曜日フォーマット変換
$week = array(
'Sun' => '(日)',
'Mon' => '(月)',
'Tue' => '(火)',
'Wed' => '(水)',
'Thu' => '(木)',
'Fri' => '(金)',
'Sat' => '(土)' );

// RSS吐き出し
for ($i=0; $i<$end; $i++){
$title = $array['rss']['channel']['item'][$i]['title'];
$link = $array['rss']['channel']['item'][$i]['link'];
$category = $array['rss']['channel']['item'][$i]['category'];
if (is_array($category)){
$category = strtr(implode(" / ", $category), array("Array / " => ""));
}
$date = date("Y年m月d日", strtotime($array['rss']['channel']['item'][$i]['pubDate'], r));
$weekday = $week[date("D", strtotime($array['rss']['channel']['item'][$i]['pubDate'], r))];
if ($last_date != $date){
echo '<span class="blog_date">'.$date.$weekday.' →</span>';
}
echo '<span class="blog_title"><a href="'.$link.'" target="_blank" title="'.$category.'">'.$title.'</a></span>';
$last_date = $date;
}
echo '<span class="blog_read_more"><a href="http://tsukasa-nakanishi.blogspot.com/" target="_blank">もっと読む</a></span>'."\r\n";
?>

0 コメント:

コメントを投稿