[Codeigniter-users] h() ヘルパーの要望

アーカイブの一覧に戻る

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エンティテイ(&#03
> >> 9;など)が混ざっている場合があるかもしれないと思ったので、要望を出しました。
> >> そのような場合がありえないようなら、このオプションは不要ということになります。
> >
> > どういう場合に、そのようなことが起こるのか、よくわからないですね。
> >
> > 二重にエスケープするのはコーディングとして間違っていると思います。
> 
> たとえば、言語ファイルのデータとして、キーボードから直接入力できない文字を実
> 体参照で記述している場合です。単純にデータをエスケープすると、既に実体参照で
> 記述れているものが二重にエスケープされてしまいます。「CodeIgniterでは言語デー
> タはエスケープせずに出力するのが慣例」と言われればそれまでの話なのですが。

言語データに文字参照が含まれるということは、そのデータは HTML であり、
出力時にエスケープすると二重にエスケープすることになる、と思うのですが。

言語データあるいはその一部のみを HTML で記述するというのが、あまり筋
のよくないコーディングのように思えますが、どうしてもそうせざるを得ない
状況というのがあるのでしょうかね?

言語データを HTML にしてしまうと、Web 以外に出力する時は、デコードを
かけてから出力するしかないですよね。まあ、Web だけのシステムというのも
十分ありうるとは思いますが。


// Kenji




Codeigniter-users メーリングリストの案内
アーカイブの一覧に戻る