6

我们有一个默认自动生成的显示消息,但可能会被来自 url 的 GET vars 覆盖。由于我们需要将消息视为用户输入,因此必须对其进行转义以进行显示。但是,我们希望保留包含换行符的能力。

Newlines as<br>
这不起作用,因为转义 HTML 会破坏<br>标签。

换行符,因为\n
我不知道如何\n渲染为换行符。我认为把它放在标签中会正确呈现,但没有运气:http: //jsfiddle.net/7L932/

4

4 回答 4

8

转义 HTML,然后替换\n<br>.

如果您想使用 \n,我会为您修复您的小提琴http://jsfiddle.net/hr3bg/

于 2012-10-02T16:13:44.873 回答
5

你所做的或多或少都很好,除了你应该\n在你的 html 中放置字符(换行符),而不是转义序列(Prinzhorn 所说的也很有意义,所以我会支持他)。

于 2012-10-02T16:14:24.047 回答
4

将包装器 html css 设置white-space: pre-line为对我有用。它启用了 \n 字符的换行功能

于 2020-07-09T15:25:17.200 回答
3

您的理论听起来不错,但\n不是 HTML 认可的插入新行的方式。它要么显式出现(因为我已插入新.linebreaks元素)作为标记中的文字返回,要么,如果您使用一些可以识别的中间脚本语言\nJS),那么就这样做(就像我已经.linebreaks使用我插入的 jQuery 代码完成您的第一个操作。

请参阅我对您的示例的调整:http: //jsfiddle.net/barney/7L932/2/

于 2012-10-02T16:18:27.967 回答