Kenji Suzuki
kenji****@gmail*****
2011年 7月 1日 (金) 10:08:08 JST
Kenji です。 On Thu, 30 Jun 2011 20:00:58 +0900 (JST) geekl****@mystr***** wrote: > mystral-kkです。 > >> このコメントを書いたのは私なのですが、出力するデータにHTMLエンティテイ( > >> 9;など)が混ざっている場合があるかもしれないと思ったので、要望を出しました。 > >> そのような場合がありえないようなら、このオプションは不要ということになります。 > > > > どういう場合に、そのようなことが起こるのか、よくわからないですね。 > > > > 二重にエスケープするのはコーディングとして間違っていると思います。 > > たとえば、言語ファイルのデータとして、キーボードから直接入力できない文字を実 > 体参照で記述している場合です。単純にデータをエスケープすると、既に実体参照で > 記述れているものが二重にエスケープされてしまいます。「CodeIgniterでは言語デー > タはエスケープせずに出力するのが慣例」と言われればそれまでの話なのですが。 言語データに文字参照が含まれるということは、そのデータは HTML であり、 出力時にエスケープすると二重にエスケープすることになる、と思うのですが。 言語データあるいはその一部のみを HTML で記述するというのが、あまり筋 のよくないコーディングのように思えますが、どうしてもそうせざるを得ない 状況というのがあるのでしょうかね? 言語データを HTML にしてしまうと、Web 以外に出力する時は、デコードを かけてから出力するしかないですよね。まあ、Web だけのシステムというのも 十分ありうるとは思いますが。 // Kenji