2

我需要显示一个包含\nusing Jade 的字符串,并且我想将这些字符转换为<br>. 我试图通过两种方式做到这一点:

- var s = 'text\nand\ntext';
p= string
p= string.replace(/\n/g, '<br />')

但是在第一种情况下,我看不到空格,并且在第二段中,HTML 被转义了。

4

3 回答 3

2

使用!=而不是=

p!= string.replace(/\n/g, '<br />')

有关更多信息,请参阅文档

于 2012-11-23T18:12:19.543 回答
0

我解决了它喜欢这个:

- var text = '<script></script>\nhi';
p!= text.replace(/</g, "&lt;").replace(/>/g, '&gt;').replace(/\n/g, '<br />')

它不会转义 html 特殊字符,但因为我正在使用<meta charset="utf-8">它应该不是问题。

于 2012-11-26T09:25:17.260 回答
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's 并拆分 2 个或更多\n's。如果这导致一个非空数组,我循环该数组并添加一个开始<p>标签。任何单行\n都被分割并用<br>标签循环,然后以标签结束</p>。起泡,冲洗,重复。奖励:字符串被正确转义。

玉真棒!(就像正则表达式一样)

于 2013-07-10T19:16:32.547 回答