空要素タグを変換させるにはどうすればいいか

application/xhtml+xml に対応していない UA には HTML を出力しようと今頑張ってます。

ほとんどデバッグ用の機能ですけど、「 ?type=html 」というようにパラメータをつけても HTML で吐くようになります。

あとは、空要素を閉じないようにすれば完了なはずですが、その空要素を閉じないようにするにはどうすればいいのかな...と。

たとえば <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> みたいな。

$emptyElementTag に空要素タグ( HTML なら '>' 、 XHTML は '/>' )を格納しておいて、<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>"<?php echo $emptyElementTag; ?>とか。これはキモい。冗長。

じゃあ、HTML だったら空要素タグを変換する関数、 toHTML とか作っておいて、 <?php echo toHTML( '<link rel="pingback" href="'. get_bloginfo('pingback_url'). '" />' ); ?> とか。うーん、さっきのよりましだけれど、いちいち PHP の文字列形式に書き直さないといけないところがやだ。

PHP で出力をフックさせることって出来ないのかな。 toHTMLStart 関数で以降の出力を toHTML 関数に通す。 toHTMLEnd 関数でフックを終了。みたいな。

どうやら、 PHP には出力制御関数というのがあるらしい。探していたのはこれかな。

インフォメーション

公開日時
2007年9月17日 午後4時54分32秒
最終更新日時
2007年12月29日 午前9時40分34秒
カテゴリ
WordPress