どうもKazです。
とりあえず、BLOGを書きたい。そして連携したいと言うクライアント様には
PC表示時の広告表示が小さい FC2 BLOG をススメておりました。
そして、ホームページと連携する際はfeed2.jsを使ってRSSを表示しておりました。
とりあえず、BLOGを書きたい。そして連携したいと言うクライアント様には
PC表示時の広告表示が小さい FC2 BLOG をススメておりました。
そして、ホームページと連携する際はfeed2.jsを使ってRSSを表示しておりました。
さて、最近ではFC2 BLOGでもアイキャッチが設定できるという事で、RSSからアイキャッチを表示して見栄えのいい「最新情報」的な物が作れるかなと思ったら
RSSでもAromでも一切吐き出す気配がなく
FC2へ問い合わせたところ
『アイキャッチはRSSに出力されません』
と公式な回答を頂いてしましました…
『FC2ではアイキャッチ表示ができるのに、何で引用すると出ないんだ!?』
と言われる事もあると思うので
アチコチ見て参考にしながら、PHP版ですがFC2用のRSS表示する物を作ってみました。
(PHPは記事の最後にあります)
RSSリーダーのポイント
RSSの取得部分
1 |
$url = simplexml_load_file("【RSSのURLを設定】"); |
クロスブラウザの件を解消する簡単な方法としては、PHPで取得するのが手っ取り早いようです。
JavaScriptに詳しいひとなら、この後をJavaScriptだけで書けるかもしれません。
日付などの整形部分
1 2 |
$timestamp = strtotime( $item->children('http://purl.org/dc/elements/1.1/')->date) ;//更新日の整形 $content = $item->children('http://purl.org/rss/1.0/modules/content/') ;// 記事の取得 |
purl.orgリダイレクトサービスを利用して整形を行います
アイキャッチとして使う画像
記事の一番初めに使われている拡大表示可能なが画像をアイキャッチとして取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
if( preg_match_all('/<a([\s\S]+?)>/is', $content, $matches) ){ $img_ct=0; //初期化 $sub_img=array(); //初期化 foreach( $matches[0] as $img ){ if( preg_match('/href=[\'"](.+?jpe?g)[\'"]/', $img, $m) ){ $sub_img[$img_ct] = $m[1]; } $img_ct++; } if ( is_null($sub_img[0])){}else{$item->thumbnail = $sub_img[0];} |
記事中の<a>タグで囲まれている<img>タグをかき集めて、一番初めの物を最終的に取得しています。
この一連の作業を指定回数回して、リストとして出力する事でアイキャッチ付きのRSSを表示できます。
RSSリーダー PHP版(FC2用) DL fc2rss.php※写真がない場合の画像は、同一ディレクトリ内に「img」フォルダを作ってファイル名を「noimage.jpg」として画像を入れてください。
カスタマイズする事でイロイロと使えると思いますので、試して見てください。