6

デフォルトで自動生成される表示メッセージがありますが、URL からの GET 変数によってオーバーライドされる場合があります。メッセージをユーザー入力として扱う必要があるため、表示のためにエスケープする必要があります。ただし、改行を含める機能は保持したいと考えています。

<br>HTML をエスケープするとタグが破棄されるため
これは機能しません。<br>

改行\n
としてレンダリングする 方法がわからない\nため、改行。タグに入れると正しくレンダリングされると思いましたが、うまくいきませんでした: http://jsfiddle.net/7L932/

4

4 に答える 4

8

HTMLをエスケープしてから、に置き換えます。\n<br>

\ nを使用したい場合は、フィドルを修正しますhttp://jsfiddle.net/hr3bg/

于 2012-10-02T16:13:44.873 に答える
5

HTMLにエスケープシーケンスではなく文字(改行)を入れる必要があることを除いて、あなたがしていることは多かれ少なかれ問題あり\nません(そして、Prinzhornが言うことも完全に理にかなっているので、私は彼に賛成します)。

于 2012-10-02T16:14:24.047 に答える
3

あなたの理論\nは正しいですが、改行を挿入するHTMLで認識される方法ではありません。明示的に (新しい.linebreaks要素に挿入したように) マークアップのリテラル リターンとして入力するか、 (JS のように)認識する中間スクリプト言語を使用\nている場合は、それを行います (私が行ったように)。.linebreaks私が挿入したjQueryコードを使用して、最初に完了しました。

あなたの例への私の微調整を参照してください:http://jsfiddle.net/barney/7L932/2/

于 2012-10-02T16:18:27.967 に答える