我需要使用Jade显示包含\n
的字符串,我想在<br>
中转换这些字符。我尝试以两种方式做到这一点:
- var s = 'text\nand\ntext';
p= string
p= string.replace(/\n/g, '<br />')
但是在第一种情况下我看不到空格,而第二段中的HTML被转义。
答案 0 :(得分:2)
答案 1 :(得分:0)
我解决了它喜欢这个:
- var text = '<script></script>\nhi';
p!= text.replace(/</g, "<").replace(/>/g, '>').replace(/\n/g, '<br />')
它不会转义html特殊字符,但由于我使用<meta charset="utf-8">
它不应该是一个问题。
答案 2 :(得分:0)
这是我的解决方案:
p
striped = body.replace(/\r/g, '')
paragraph = body.split(/\n{2,}/g)
if paragraph.length
each para in paragraph
| <p>
line = para.split(/\n/g)
first = line.shift()
| #{first}
each li in line
| <br />
| #{li}
| </p>
我扔掉\r
并分成2个或更多\n
个。如果这导致非空数组,我循环数组并添加一个开始<p>
标记。具有单个\n
的所有行都会被拆分并使用<br>
标记进行循环播放,然后以</p>
标记结束。泡沫,冲洗,重复。额外奖励:正确转义字符串。
玉很棒! (正如正则表达式)