私はブラウザで正しく表示したいテキストをいくつか用意しています(新しい行は<br/>
タグに置き換えられました)。他のすべてのHTMLタグをエスケープしたいと考えています。これを行う最善の方法は何ですか? nを <br>タグに置き換えます。
答えて
これは最善の解決策ではありませんが、これはうまくいきます。ビューが文字列パラメータstr
を受け入れる場合、@Html(HtmlFormat.escape(str).toString.replace("\n", "<br />"))
は最初に文字列をエスケープし、\ nのすべてのインスタンスを<br />
に置き換え、最後にhtmlに変換して、再生がすでにエスケープされた文字をエスケープしようとしないようにします。 \ rまたは\ r \ nもエスケープしたい場合は、別のreplace
を連鎖させるか、代わりに正規表現を使用してください。
まあ、フレームワークがこのような一般的な使用事例にいくつかのユーティリティを提供することが予想されます。とにかく、HTML "エスケープ"にアクセスするには少なくとも簡単な方法があることを知ってうれしいです。ありがとう。 – szymond
Play APIには良い選択肢のように見えるものは見つかりませんでしたが、おそらく1つあります。便宜上、これを別の関数にラップするほうが良いかもしれません。 –
最初にテキストをエスケープしてから、改行を<br>
に置き換えてください。 <br>
はこの方法では置き換えられません。
- 1. 空のaltタグを<img>タグに置き換えます。
- 2. \ nを<br />に置き換えます。
- 3. \ r \ nを<br />に置き換えます
- 4. \ r \ nを ""に置き換えます
- 5. tinymce:サブミット時に<img>タグを置き換えます。
- 6. を置き換える ';' '; \ n'
- 7. Sublime Text 2 RegEx nをn + 1に置き換えます
- 8. テレグラムインスタントビューで\ nを<br >に置き換える方法
- 9. <br>タグをasp multilineテキストボックスに置き換える
- 10. ハンドルバーファイルマネージャーimgタグ置き換え
- 11. XSL:タグ内に値を置き換え
- 12. 式をHTMLタグに置き換える
- 13. T-SQL Pタグ以外のHTMLタグを置き換えます。
- 14. WCF 3.5 REST - \ r \ nを\ nに置き換えたデータメンバ
- 15. テキストファイルのテキストを\ r \ nに置き換えます。
- 16. php文字列を "invisible chars"(\ n)に置き換えます。
- 17. \ n(改行)をbashの空白に置き換えます。
- 18. "\ N"を正規表現に置き換えます
- 19. '\' 置き換えるnはjavascriptの
- 20. Visual StudioでXMLDocsの '<!--/--> /'に '</'を置き換えます
- 21. 大文字のファイルで\ nを\ r \ nに置き換えます
- 22. 選択したテキストをpタグ内に置き換えます
- 23. Python CGI:stdoutからhtmlに変換する(例:¥nを<BR>に置き換えます)
- 24. \ r \ n、\ n、\ tを "\"と置き換えるGroovyスクリプト
- 25. テキスト内のタグを画像に置き換えます。
- 26. Angularjs 1.5:コンポーネントタグをhtmlタグに置き換えます
- 27. Regex:imgタグをそのalt属性に置き換えます。
- 28. XMLタグをXSLTのテキストノードに置き換えます
- 29. 入力テキストを段落タグに置き換えます
- 30. EditTextをandroid.support.v7.widget.CardViewタグに置き換えます。
これは、提供されたコードなしでは本当に助けになりません。私の経験では、\ nを使った文字列値もブラウザに正しく表示されます。たとえば、String型のmy Jsonデータは、使用することなくブラウザで正しくフォーマットされて表示されます。
– cYn
@cYn使用しているブラウザーはわかりませんが、私の誰も新しい行として\ nを表示しません。 –
これは私がいくつかのコードを見る必要があったところです。あなたは実際にあなたのJavaコードに "\ n"を追加しなければなりませんか?または、ユーザーがEnterキーを押して、ユーザーが文字列に入力したすべてのテキストを保存できるようにしましたか? – cYn