我有一些用戶提供的文本,我想在瀏覽器中正確顯示(用新行代替<br/>
標籤)。我希望所有其他HTML標記都能被轉義。什麼是最好的方法來做到這一點?替換 n與<br>標籤
5
A
回答
11
不是最漂亮的解決方案,但是這會起作用。如果視圖接受字符串參數str
,則@Html(HtmlFormat.escape(str).toString.replace("\n", "<br />"))
將首先轉義字符串,然後用<br />
替換\ n的所有實例,最後將其轉換爲html,以便Play不會嘗試轉義已經轉義的字符。如果你想逃避\ r或\ r \ n,你可以鏈接另一個replace
,或使用正則表達式代替。
+0
那麼,我會期待這個框架能爲這樣一個常見的用例提供一些utils。無論如何,很高興知道至少有一種簡單的方式來訪問HTML「引誘者」。謝謝。 – szymond
+0
我在Play API中找不到任何看起來更好的選項,但也許有一個。爲了方便起見,將其包裝到另一個函數中可能會更好。 –
0
先轉義文本,之後用<br>
替換換行符。 <br>
將不會被這種方式取代。
相關問題
- 1. JavaScript替換<br>與\ n
- 2. 替換 '\ n' 與 '<br>' PHP SQL表
- 3. 替換';'與'; \ n'
- 4. 如何替換<datatable>標籤作者:<table>標籤
- 5. 替換\ r \ n與\ n
- 6. 用<br />替換\ n
- 7. 與<br/>全部替換\ n,所有這一切都沒有內部<textarea></textarea>標籤
- 8. PHP:替換<某些標籤之間?
- 9. 替換標籤<NPS></NPS>其中有<UNKOWN/>標籤
- 10. jQuery替換\ n與<br> HTML不會渲染<br>
- 11. 如何用標準JSF標籤替換Tomahawk <t:saveState>和<t:dataList>標籤?
- 12. 如何用<br>替換標籤標籤中的空格?
- 13. 替換_包裝與HTML <i>標籤
- 14. 與BR標籤替換換行,但裏面只有PRE標籤
- 15. 替換<與<元件
- 16. 如何用<br />替換\ n而不影響其他標籤?
- 17. 與<A>標籤
- 18. 如何使用<amp-img>標籤替換HTML中的<img>標籤?
- 19. Sendgrid替換標籤
- 20. 替換:與RDFS hasName:標籤在RDF
- 21. 用<br />替換\ r \ n
- 22. 在bash替換\ n,其中<br />
- 23. golang:如何替換爲「\ n」「<br>」
- 24. 如何用<br/>替換\ r&n?
- 25. Jquery用<br />替換\ n?
- 26. 使用Nokogiri用<%= image_tag%>替換<img src />標籤?
- 27. Android:替換< p >和< br/>標籤
- 28. C++。 libxml2的。 < and >被替換爲<和> INSIDE標籤
- 29. 替換標籤/ SPAN與已製作的標籤/ SPAN
- 30. C#字符串替換XML標籤與其他標籤
如果沒有提供一些代碼,這真的很難提供幫助。根據我的經驗,即使\ n的字符串值在瀏覽器中正確顯示。例如,我的字符串類型的Json數據在瀏覽器中顯示爲正確格式,而無需使用
– cYn
@cYn我不知道您使用的是哪種瀏覽器,但我的所有瀏覽器都不會將\ n顯示爲新行。 –
這是我需要看到一些代碼的地方。您是否真的必須在Java代碼中追加「\ n」?還是你允許用戶按下回車鍵並存儲用戶在字符串中輸入的所有文本? – cYn