実体参照文字ってどう処理するのが一般的?

外部ページからデータ引っ張ってきてフィードにして配信する場合、実体参照はどう処理するのが正しいの?

<>"'&あたりはまあ、戻すのも楽なので戻しましょう。問題は、一般的でない通常文字(記号とか漢字とか)の対応。

例えば、© ってどうしよう。これ HTML 上では普通に表示されるけど、DB とかに入れようとすると C マークそのままでは入れられないよね?何かしらの『コード』になると思う。

これまで触ってきた Web アプリ(SBS とかフィードリーダーとか)の場合、記憶にある限りでは実体参照として表示されてた気がするけど、本当のマナーというか一般的な対応はどうなのか分からない。

HTMLエスケープしちゃった実体参照が"&...;"で、"..."を"[#0-9a-zA-Z]+"とかで表現すればまあ一応は実体参照に戻せる。けど、"&hoge;"っていう偽物(未定義な実体参照)も戻っちゃう。厳密にやる場合、正規表現で出来る物なのかな?それとも、なんかマップだか辞書だかって方法があるの?

あまり要求度の高い問題じゃないと思うんだけど、『一般的なお作法』を知らないまま見過ごすのも気持ち悪い。前に、厳密(っぽい)正規表現で完全に処理しようとしたらパフォーマンスの問題で挫折。なんとなく、アルゴリズムというかなんかその辺を知らないせいで困ってるような気がするんだけど、どうなんだろう?

Perl とかで実体参照を上手く処理するライブラリとかあるかな?あれば PHP で使えるように上手く(こっそり)パクるんだけど。

親方が旅から帰ってくるし、まず教えてもらってから改めて悩もう。


偽物実体参照って Validation Error 以外で困る事あるっけ?ブラウザをごまかしたりできるのか?

プロフィール

このブログ記事について

このページは、koshigoeが2006年5月 8日 21:32に書いたブログ記事です。

ひとつ前のブログ記事は「TypeKey 設定ミスでコメントできない件」です。

次のブログ記事は「早速スパムなコメント」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。