HTML:<textarea>-タグ:そこに表示されているHTMLおよびJavaScriptコンテンツを正しくエスケープする方法は?
HTMLタグ<textarea>$FOO</textarea>
があり、$FOO
変数は任意のHTMLおよびJavaScriptコンテンツで埋められ、テキスト領域内で表示および編集されます。 $ FOOに適用する必要があるのは、どのような「エスケープ」ですか?
最初にHTMLをエスケープしようとしましたが、これは機能しませんでした($ FOOの元のHTMLコードではなく、エスケープされたコンテンツが表示されるためです。もちろん、これは私が望むものではありません。エスケープされていないHTML /を表示したいのです。変数のJSコンテンツ...
<textarea>
タグ内にHTMLコンテンツを表示し、完全なHTMLとして編集できるようにすることは不可能ですか?
ありがとうジェンス
私は最初にそれをHTMLから逃れることを考えました
はい、そうです。 <textarea>
の内容は、<span>
や<p>
などの他の要素の内容と同じです。テキストを中に入れたい場合は、その中の<
または&
文字をそれぞれ<
および&
にHTMLエスケープする必要があります。
ブラウザは、<textarea>
の障害マークアップでより多くの余裕を与える傾向があります。無効なエスケープされていない<
シンボルのフォールバックは、タグではなくテキストとしてレンダリングすることですが、それによって間違いや危険性が低下することはありません(XSSの場合)。 )。
しかし、これはうまくいきませんでした
うまくいかなかったことを投稿してください。 HTMLエスケープは間違いなく正しいことです。
HTMLの特殊文字を 文字参照 (数値文字参照またはエンティティ参照のいずれか)に置き換える必要があります。textarea
では、少なくとも&
、<
および>
。