ひとりごと

翌日:[2006-10-01]  前日:[2006-09-28] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2006/09/29 (金)

・ RSSさらに追加

<content>は入れないつもりだったのですが、RSSリーダーをいろいろ漁ってて Google Readerゴマさんとこを見てみると、なんかくるっと囲った枠に小さく収まってて、奇麗だし可愛いし。あぅ~、こんなふうにしたいなー、ということでまねして<content>を入れてみました。(←不純) ちなみに下のは無断転載(^^)

さて、contentに入れてしまおうとするといくつか問題がありました。

  1. リンクや画像などが相対リンクのままではうまく動かない(←あたりまえ)
  2. <![CDATA[ は ']'が二つ続くと終わっちゃうので本文中に記述があるとマズい
  3. ファイルサイズが元々の10倍近くになる
まぁいつものごとく思いつくままに置換してみました。
$BASE = 'http://toriyu.dd.que.ne.jp/~takatani/chacha/hitorigoto';
$search = array(
    '/]]/',
    '/<a href="(?!http:\/\/)(.*)"/',
    '/<img src="(?!http:\/\/)(.*)"/'
);
$replace = array(
    '] ]',
    "<a href=\"$BASE/\$1\"",
    "<img src=\"$BASE/\$1\""

);
$出力文字列=preg_replace($search,$replace,$入力文字列);

ホント、ひとに見せたら怒られそうなコードですが、どうせ記事は自分しか書かないからこんなんでいいや(笑)。ひとりごとこーなーはこの処理、げすとぶっくと落書きに関しては htmlspecialchars() してしまうことにしました。で、(3)についてはもうどうしようもないです。回避不能なので、ちっちゃいRSSを別に用意することにしました。こっちにはタイトルしか入ってませんから、だいたい今まで通りの動作をしてくれると思います。ちなみにサーバー側の負荷はどちらを使っても大差ありません

さて、実装が済んでうちのページを表示してみたのがこれです。

ん? ちっとも可愛くないですな。ページからはみ出てるし。ポニテいないし。なんか根本的なところが間違ってたかもしれません(笑)。

□ 関連記事

[つっこみ]
09/30( Y.Kumagai )
readerの仕様で下までスクロールしないと次の記事へ進めないとか、この際、どーでもいいのですが(汗:小型版もあるし)、↓の記事の件も含めて一点。

厳密な仕様というわけではありませんが、descriptionはプレーンテキストで500byte以内と推奨されております。descriptionは概要、全文やビジュアルはcontentへ記述するのがbetterです。RSSは誤用しているサービスが存外に多いので迂闊に真似しない方が良いですよ。

"]]"の変換が893…げふげふ;^^)
文字参照で誤魔化せないでしょうか? s/\]/&#x5d;/g
09/30( ゴマ )
ポニテ(笑)なんかみたことある絵だと思ったらw
たかたにさんちにはモスキーちゃんがいるので無問題です(^^)
RSSっていじれるんですね。いつもテンプレもらってきてHTMLでちょこちょこ弄るだけなので勉強になります。

それとつっこみそびれておりましたが漫画れんしゅう毎回こっそり楽しみにしております。
原稿用紙のトンボは結構曲者ですよね。よく勘違いして印刷出してあちゃーなことしました。いい思い出です・・・
09/30( たかたに )
むむっ、500bytes以内という制約があったのですか。ぜんぜんしりませんでした。で、
>文字参照で誤魔化せないでしょうか? s/\]/&#x5d;/g
おぉー、こんな良い方法がっ!!
ということで、両方ぱくって組み込ませて頂きました。どうもありがとうございます(ぺこり)

でもってゴマさんとこのポニテさんかってに連れてきてすみませんでした。こちらでも相変わらず可愛いです(^^)。
漫画は1年ぐらい頑張ればちょっとはマシなものが書けるようになるのかなーと思っております。それまではお目汚し失礼します。
[つっこみ]

・ RSSに記事の内容追加

うちのサイトで提供している RSS ですが、その気になれば本文を <description> に埋め込むこともできるようです。埋め込んだところで Firefox では表示できなかったのですが、 Firefox2.0 ではいちおうRSSも表示できるようになっているみたいで、他の RSS リーダーで使った場合も埋め込んでおいた方がわざわざ見にこなくてもすむので良いのかな~とおもって入れてみました。

特に整形とかはせずに、 strip_tags() と htmlspecialchars() を組み合わせているだけです。よって要約ではなく長いです(笑)。うちのサイトの場合はせいぜい10個なので、本文なしの場合のサイズ 約 4KB に対して 本文ありでは約 20KB ですので、普通の通信環境では転送時間もうちのサーバの負荷もたいして変わんないかなーと思います。どちらかというと本文が入ってても利用しない人の方が多いのでしょうが、入っててもじゃまにならないならそれも良いかなーということで。

てきとーに仕様変更してみましたが、『誤動作する』とか『サイズが大きくなると困る~』とかあればこっそりお知らせください。元に戻しますので。


□ 関連記事

[つっこみ]

翌日:[2006-10-01]  前日:[2006-09-28] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)