冬言響 / 日記

アメコミとか映画とか音楽とか猫とか単車とか自転車とか革とか銀とかジーンズとかブーツとか今日喰ったものとか。

RSS2.0

(無題)

携帯電話対応・エピソード 4・新たなる希望――。

おっと、単純に img 要素を alt 展開してリンクアンカーにしたら、元々その画像がアンカーだった場合は a 要素が二重になってしまう。んーと、面倒くせえな。まとめるとこんな具合か?

// img 要素をその画像へのリンクアンカーである代替テキストに置き換える。
$strBody = ereg_replace("<img src="([^"]+)" alt="([^"]+)" />", "<a href="\1">[\2]</a>", $strBody);
// 代替テキストが無い場合は「[画像]」とする。
$strBody = ereg_replace("<img src="([^"]+)" alt="" />", "<a href="\1">[画像]</a>", $strBody);
// アンカーが二重になってしまった場合は内側を削除。
$strBody = ereg_replace("<a ([^>]+)><a ([^>]+)>([^<]+)</a></a>", "<a \1>\3</a>", $strBody);

もちっとスマートにいかねえかなあ。正規表現メニメニムズカシネー。

日記以外の単車とか自転車とかのページにもこれまでと同様の処理をかけるようにしてみた。画像の代替テキスト展開と、Amazon アソシエイトをモバイル用にする、ぐらいか。そのために本文全体を直接表示するのではなく、一端変数に取り込んで処理かけてから echo するようにファイル一つひとつ手で直した。今後は他にも何かしらいじれそう。カタカナを半角にするとかしてみると良いか? どうなんだろう。← 一応やってみた(2008-02-13)。てかこの作業やってて気づいたけど、403.php が書きかけじゃん俺。無駄に凝ったこと書いてもしょうがないのだけど、この辺もまあおいおいと。