5

我有一些用户提供的文本,我想在浏览器中正确显示(用<br/>-tags 替换新行)。我希望所有其他 HTML 标记都被转义。最好的方法是什么?

4

2 回答 2

13

不是最漂亮的解决方案,但这会起作用。如果视图接受字符串参数str,则@Html(HtmlFormat.escape(str).toString.replace("\n", "<br />"))首先转义该字符串,然后将所有 \n 实例替换为<br />,最后将其转换回 html 以便 Play 不会尝试转义已经转义的字符。如果您还想转义 \r 或 \r\n ,您可以将另一个链接replace到它上面,或者使用正则表达式。

于 2013-11-04T18:00:06.847 回答
0

首先转义文本,然后将换行符替换为<br>. <br>不会以这种方式替换。

于 2013-11-04T15:18:26.840 回答