• 締切済み

HTML エスケープ関数のオプション

PHP にビルトインの HTML エスケープ関数でいったんエスケープされた文字列 (たとえば ") をもう一度この関数に通すと、アンパサンドが再度エスケープされてしまいます (たとえば ")。 何の必要性が生じるのかと言えば、たとえばプレビューのためにエスケープし、プレビュー画面にてユーザにより値が変更されてアンパサンドが再度含まれたときにはそれが & に変更される必要があるものの、" などはそのまま通したいということです。 そこで出てくるのが観点ですが、そもそも組込みの HTML 関数を使わなければ解決ということはあるのですが、そういう観点ではなく、この組込み関数に上述の問題を避けるようなオプションは存在しないのかということです。 要は、質問はそれだけです (問題の解決は上述の通り可能なので、この点はよいです)。

みんなの回答

回答No.1

この問題はロジック上で対処するしかないですね。 もしもこの問題を解決してしまったら、違う問題が必ず出てくると思います。 ロジックを書く人が2回エスケープしなければ良いだけなので、論理的にロジックを書くことを心がけた方が良いのではないでしょうか。

username
質問者

補足

> この問題はロジック上で対処するしかないですね。 質問文にありますように、それはそうなのですがということなのです。

関連するQ&A