我有一些用户提供的文本,我想在浏览器中正确显示(用新行代替<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