• ベストアンサー

RSSの生成順

現在、KENTWEBのWEBPATIOに下記スクリプトを追加してRSS機能を利用していますが、 http://jyosui.xrea.jp/hicnt/hicnt.cgi?pid=patiopl&img=0&len=3&url=http://jyosui.xrea.jp/download/wpfeedpl RSSを生成しているこのファイルは、RSSを記事生成順(記事ナンバー順)で生成するようです。 これをRSSの日時順にするにはどうしたらいいでしょうか? 詳しい方おられましたらご指南お願いいたします。

  • CGI
  • 回答数3
  • ありがとう数8

質問者が選んだベストアンサー

  • ベストアンサー
  • kt_yuka
  • ベストアンサー率53% (8/15)
回答No.1

簡単にソースを見ただけなので、違ってたらごめんなさい。 rss1 rss2 atom という各サブルーチンでは、@feed の値を順に出力しているようなので、 それらが呼び出される手前、具体的には if($rss1file) { &rss1; } if($rss2file) { &rss2; } if($atomfile) { &atom; } というところの前で、@feed を表示したい順に並べ替えてやれば良いと思います。 my($num,$rno,$sub,$pdate,undef,undef,$nam,$com) = split(/<>/, $feed[$i]); というところからして、4番目の $pdateが日付だと思うので、 @feed = map {$_->[0]} sort { $b->[4] <=> $a->[4] } map {[$_, split /\t/]} @feed; としてやれば良いと思います。 RSS関連は仕様が厳格ではない部分があるので、RSSリーダーによっては、出力順ではなくて 勝手に日付順にするかもしれません。

falcon_jun
質問者

お礼

ご返信ありがとうございます。 早速、kt_yukaさんのご指示を仰ぎたいと思うのですが、上記の @feed = map {$_->[0]} sort { $b->[4] <=> $a->[4] } map {[$_, split /\t/]} @feed; をwpfeed.plの何行目にこちらを記述するのかわからなかったので、 すみませんが追加箇所のご指示までいただけると大変助かります。 ずっと誰からも回答をいただけていませんでしたのでこの度は本当にお世話になります。お手数おかけしますが、よろしくお願いいたします。

その他の回答 (2)

  • kt_yuka
  • ベストアンサー率53% (8/15)
回答No.3

やっぱりちゃんと見ないと分からないかも。 data/feed.log の内容を数行でいいので見せてもらえますか? 更新日のセットされている個所とか違うかも。

falcon_jun
質問者

お礼

お手数おかけします。。 Sat, 06 Mar 2010 13:53:32 +0900<>Sat, 06 Mar 2010 15:50:50 +0900<> 3<><>試験最新<>2010-03-06T13:53:32+09:00<>Sat, 06 Mar 2010 13:53:32 +0900<>2010-03-06T13:53:32+09:00<>ファル<>わをん<><> 2<><>試験02<>Sat, 06 Mar 2010 13:49:07 +0900<>Sat, 06 Mar 2010 13:49:07 +0900<>2010-03-06T15:50:50+09:00<>ファル<>はまやらわ<>1267850947<> 1<><>試験01<>Tue, 02 Mar 2010 02:47:39 +0900<>Tue, 02 Mar 2010 02:47:39 +0900<>2010-03-06T13:34:20+09:00<>ファル<>あかさたな<>1267465659<> 試験では3件の記事をアップし、2番目の記事を更新してRSSを更新してみたのですが、実際に吐かれるRSSは 06T13:34:20+09:00 この部分の順序になっているようです。よろしくお願いします。。

  • kt_yuka
  • ベストアンサー率53% (8/15)
回答No.2

158行目の「shift(@feed);」の上か下でしょうかね。 上か下で挙動が変わると思いますが、shift(@feed);を何のためにやっているかまで 追っていないので、試してみてください。

falcon_jun
質問者

お礼

ご指示に従い記述を追加してみたのですが、RSSを更新しても並びは時間順ではなく記事生成順のままでした。一応どのように追加したかもご報告しますね。。 ---------- パターン1 ---------- @feed = map {$_->[0]} sort { $b->[4] <=> $a->[4] } map {[$_, split /\t/]} @feed; shift(@feed); ← 158行目 if($rss1file) { &rss1; } if($rss2file) { &rss2; } if($atomfile) { &atom; } } ---------- パターン2 ---------- shift(@feed); ← 158行目 @feed = map {$_->[0]} sort { $b->[4] <=> $a->[4] } map {[$_, split /\t/]} @feed; if($rss1file) { &rss1; } if($rss2file) { &rss2; } if($atomfile) { &atom; } } もし追加方法がおかしいようでしたらご指摘いただけると嬉しいです。お手数おかけして申し訳ないです。よろしくお願いします。

関連するQ&A

  • アメブロ rss 読み込み

    アメブロ rss 読み込み アメブロの記事をホームページ上で自動更新したいのですが、 http://security.s151.xrea.com/x/rss/ このページのスクリプトをhttp://japan.cnet.com/rss/index.rdf に アメブロのrssページのアドレスに変えてやったのですが、文字化けして うまくいきません。ホームページのエンコードはutf-8 です。 他に良い方法はあるんんでしょうか? gooブログはrssがないので自動更新できませんよね?

    • ベストアンサー
    • XML
  • RSSに関して

    こんばんは。お世話になっております。 只今、テスト的に以下のサイトのソースを参考に、登録していただいた方のブログの一覧表示(更新題名が1件ずつ)が出来るように組んでいるのですが、非常に重たく、他に上手いやり方がある?などと色々と試行錯誤を繰り返している状況です。 http://works.xrea.jp/headline.php イメージ的に、登録してくれた会員のブログを、ブログランキングサイトのように、検索一覧として1件ずつ更新記事(題名)を表示させたいと考えてます。 ソースの流れは、 while($row = mysql_fetch_array($res, MYSQL_ASSOC)){  $url = $row["url"];  require("./rss_index/rss-test.php");  ・  ・ 以上、検索ファイル 以下、rss-test.php <?php require_once 'rss_fetch.inc'; $url = $url; $rss = fetch_rss($url); $title = $rss->channel['title']; $title = mb_convert_encoding($title, "EUC-JP", "auto"); echo "<h5>$title</h5>\n"; $rss->items = array_slice($rss->items, 0, 1); foreach ($rss->items as $item ) { $title = $item[title]; $title = mb_convert_encoding($title, "EUC-JP", "auto"); $url = $item[link]; echo "<li><a href=\"$url\">$title</a></li>\n"; } ?> 以上、お忙しい中恐縮ですが、ご指摘も含めアドバイスなど頂けたら幸いです。宜しくお願い致します。

    • ベストアンサー
    • PHP
  • RSSを利用してブログの記事を画像ごとHTMLの任意の場所に表示させたい

    IE7からブログなどのRSSフィードをクリックすると、記事と画像の シンプルな形で記事が表示されるようになりましたが、そんな感じで、 例えば自分のブログの最新記事1件だけをHTML内に貼り付けて別ページ として表示させたいと思っています。 色々と探してみて大黒屋本舗さんの「jsRSS」というCGIスクリプトに 辿り着きました。しかし、RSS内の画像のタグが入っているCDATA部分を 読み込まない為、画像が表示されません。「jsRSS」の設定にはCDATAの 読み込みが有効になる設定もあるのですが設定してもダメでした。 どなたか「jsRSS」を使って画像や改行等を反映させて表示させておら れる方、またはRSSをHTML内にJAVAスクリプト等で画像を含む記事を 埋め込み可能なCGIやPHPをご存知の方にご指導いただければ幸いです。

    • 締切済み
    • CGI
  • 自分が指定したRSSをW自分の作るWEBサイトに公開したい

    最近ブログが増えRSSが普及してきていますが、 そのカテゴリに沿ったブログサイトのRSSを集め、 自分の作ろうとしているサイトにそのRSS情報をずらっと (自分が指定したRSS情報からタイトルが表示され、 それをクリックすればそのRSSを発信しているブログの記事に飛べるというもの) 表示させたいのですが、どうしたらいいでしょうか? 簡単に言うとRSSリーダーのWEB版みたいなものを計画しています。 自分が集めたRSS情報を簡単にその自分のWEBサイトにアクセスしてもらい 自分のWEBサイトを拠点にそのカテゴリに沿ったブログサイトにアクセスする。 というものを計画しています。 XOOPSでできると聞きましたが、もっと簡単な方法はないでしょうか? 自分の使っているサーバーはCGI、PHP、MySQLと使えますので どなたかそのようなスクリプトをご存じないでしょうか? それに関連することでもいいのでよろしくお願いします。

  • 動的に生成したscriptのエラーを処理する方法

    アメブロの特殊環境に限った超マイナーケースです。 私はアメブロのスクリプトを記述できない場所にも スクリプトを書けるようにするプラグインを公開しています。 使い方は、<script>が有効なスペースにこのプラグインを設置して、 <script>が禁止されている場所では代わりに<cript>タグを使ってコードを記述してもらいます。 ページを読み込むとプラグインが<cript>タグの中身を<script>に innnerHTMLで突っ込んでappendChildします。 問題は、<cript>が複数ある場合にどれか一つがスクリプトエラーを起こしたら、 このプラグインが生成した<script>全てが動作しなくなります。 例外処理ができればいいのですが、onerrorやjQueryのerror()でエラーを捕まえられません。 appendChildをtryに入れてもcatchしません。 すごくややこしい状況ですがご教授いただけると助かります。 一応、プラグインの解説記事のURL貼っておきます。 http://ameblo.jp/kurepelin/entry-11417965476.html よろしくお願いいたします。

  • 管理人のみ閲覧可能な掲示板

    初めて投稿させて頂きます☆ 現在、ホームページを作成中なのですが、 こちら↓のような掲示板のCGIスクリプトを探しています。 http://moko.chu.jp/bbs/apeboard_plus.cgi 記事は一覧表示されて、管理人のみ記事を読むことのできる掲示板です。 CGIを設置できるサーバーなので、レンタルBBSなどではなくて、CGIスクリプトを希望です。 検索サイトで「掲示板 CGI」などを検索しましたが、 見つける事ができませんでした。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • CGI
  • gooブログでアクセス解析

    Wanzネットでアクセス解析の登録をして、メールが送られてきました。 下のタグをアクセスを解析したいページに張り付けて下さい。 <SCRIPT language="JavaScript"> document.write('<IMG src="http://www.wanz.net/acclog/acclog.cgi?xxxxxxx'); document.write('&' + parent.document.referrer + '">'); </SCRIPT> <NOSCRIPT> <IMG src="http://www.wanz.net/acclog/acclog.cgi?xxxxxxx"> </NOSCRIPT> 注:xxxxxは私のユーザー名が入ります。 1.これをコピーしてそのまま記事の下に貼り付ければいいのですか?  それとも、IMGボタンを使って貼り付けるのですか? 2.ためしに↑両方やっても記事にユーザー名が間違っているため削除されます(?)みたいな変なものが出てきます。 3.テンプレートをカスタムテンプレートにしないとできないのでしょうか? 全然分からない素人ですので分かりやすく説明していただければ幸いです。いろいろな所(gooサークルなど)でみたのですが、わかりませんでした。 よろしくお願いします。

  • カラードレスに合うブーケと靴

    バック型ブーケにしようと思っているのですが、 ドレスに合うブーケの配色が分かりません。 ​http://www.bridal-audrey.com/cgi-bin/bridal/siteup.cgi?category=1&a...​ の2ページ目の左上に載っている、ピンクと濃い紫のドレスに近いドレスを着るのですが、 ​http://www.fs-h.co.jp/wedding/img/img084793630_1.jpg​ ​http://florerose.shop-pro.jp/?pid=11166380​ こんな形のバックを持ちたいと思っています。 1色で統一した方がいいのか、何色か使った方がいいのか、 どんな色がいいのか何かアドバイスいただけたらと思います よろしくおねがいします あと靴を自分で準備するのですが、何色が似合うと思いますか? 質問ばかりでもうしわけございませんがよろしくおねがいします。

  • FLASHを挿入する方法

    ホームページにFLASHを挿入しています。 javascriptについて無知なんですが、CSSのように外部ファイル化することがきるのでしょうか? また、できれば<object>タグと<embed>タグを使用しないでFLASHをどのブラウザでも見れるようにしたいと考えています。 可能ですか? <script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','870','height','250','src','img/top','loop','false','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','img/top' ); //end AC code </script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="870" height="250"> <param name="movie" value="img/top.swf" /> <param name="quality" value="high" /><param name="LOOP" value="false" /> <embed src="img/top.swf" width="870" height="250" loop="false" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash"></embed> </object>

  • 返信記事付きログファイルの表示

    以下のような掲示板のログファイルがあります。 2<>2への返信記事2つ目<><> 1<>1への返信記事4つ目<><> 1<>1への返信記事3つ目<><> 2<>2への返信記事<><> 1<>1への返信記事2つ目<><> 1<>1への返信記事<><> 2<>親記事<>2.jpg<> 1<>親記事<>1.jpg<> 親記事もレス記事も同じログファイルに下から投稿順に記録されていきます。 親記事には必ず画像が付きます。 これを表示するだけの、ごく単純なCGIを作っているのですが、親記事も返信記事も独立して表示されてしまいます。 #!/usr/local/bin/perl require './jcode.pl'; $log = "./log.txt"; $title = 'test'; print "Content-type: text/html; charset=euc-jp\n\n"; print <<EOM; <html> <head> <title>$title</title> </head> <body> EOM open(OUT,"$log"); @DATA = <OUT>; close(OUT); foreach(@DATA){ ($num,$body,$img) = split(/<>/,$_); if($img ne ""){ $img = "<p><img src=\"$img\"></p>"; } print <<EOM; <h1>$num</h1> <p>$body</p> $img <p>$res</p><hr> EOM } どうすれば親記事番号と返信記事番号を関連付けて、$bodyを$resに出来るのでしょうか?

    • ベストアンサー
    • Perl

専門家に質問してみよう