我有一些用户提供的文字,我想在浏览器中正确显示(新行替换为<br/>
- 标签)。我希望所有其他HTML标记都被转义。最好的方法是什么?
答案 0 :(得分:13)
不是最漂亮的解决方案,但这会奏效。如果视图接受字符串参数str
,则@Html(HtmlFormat.escape(str).toString.replace("\n", "<br />"))
将首先转义字符串,然后用<br />
替换\ n的所有实例,最后将其转换回html以便Play不会试图逃脱已逃脱的角色。如果你想要转义\ r或\ r \ n你可以将另一个replace
链接到那个,或者改为使用正则表达式。
答案 1 :(得分:0)
首先转义文本,然后用<br>
替换换行符。 <br>
不会以这种方式替换。