我已经在MongoDB Atlas中存储了一个带有字符串字段的文档,用于填充到HTML(pug)元素。我想使用转义\ n在文本中指示新行。但是,字符不会执行转义,而是使用HTML中的文本填充'\ n',而不是开始新的一行文本。
Mongodb Atlas中的JSON
{
"mystring" : "I want this to be two lines. \n Two lines would be great"
}
PUG代码:
p!= data.mystring
HTML呈现为:
I want this to be two lines. \n Two lines would be great
HTML所需的渲染:
I want this to be two lines.
Two lines would be great
FWIW,当我在MLab上托管时,这工作得很好。但是,我们被迫迁移到Atlas,相同的\ n转义似乎不起作用。
为了回应您的评论\n
来自数据库的转义已经转义(\\n
),您可以在Pug中使用regex取消转义:
- let mystring = 'I want this to be two lines. \\n Two lines would be great'
p!= mystring.replace(/\\n/g, '\n')
这将编译为:
<p>I want this to be two lines.
Two lines would be great</p>
但是,如您在此堆栈片段中所见,HTML折叠了空白字符,因此不会在浏览器中以多行呈现。
<p>I want this to be two lines.
Two lines would be great</p>
为了使HTML呈现换行符,您需要使用<br>
@isAif指出的元素。
您也可以通过regex将其插入到Pug中:
- let mystring = 'I want this to be two lines. \\n Two lines would be great'
p!= mystring.replace(/\\n/g, '<br>\n')
这将编译为:
<p>I want this to be two lines.<br>
Two lines would be great</p>
它将在浏览器中显示换行符,如下所示。
<p>I want this to be two lines.<br>
Two lines would be great</p>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句