2

我正在尝试渲染一段 HTML(由 TinyMCE 创建),该 HTML 存储在 mongodb 中,然后由 Jade 渲染。

这是我的post.content字符串,因为它出现在 a 中console.log

<p>Well, I'll tell you about that...</p><p>Sometimes, we are just not sure about these things&nbsp;<span id="_mce_caret" data-mce-bogus="1" style=""><strong>Until we get some formatting!!!!</strong></span></p>

我希望它看起来像这样:

好吧,我会告诉你这件事......

有时,我们只是不确定这些事情, 直到我们得到一些格式!!!!

这就是我所看到的(从 chrome 复制):

我在这是要干嘛?


<

好吧,我会告诉你这件事......

有时,我们只是不确定这些事情 ï»¿直到我们得到一些格式!!!!

> 好吧,我会告诉你的……

有时,我们只是不确定这些事情 ï»¿直到我们得到一些格式!!!!

>

这是我的玉模板的相关部分:

.container.content
    h2 #{post.title}
    hr
    div
        #{post.content}

我究竟做错了什么?

显然是 UTF-8 字节顺序标记......它指向格式问题,但我没有看到任何地方我说过任何关于格式的内容或更改格式。出现在事情的中间也是没有意义的。它也不会导致 console.log 出现问题。至于它重复两次,我很困惑。也许我写错了我的模板?

4

1 回答 1

0

您是否已经尝试过@Marcus Ekwall所说的内容?似乎工作正常。

首先你的测试数据:

{
  post: [ {title: "<p>Well, I'll tell you about that...</p>", 
           content: '<p>Sometimes, we are just not sure about these things&nbsp;
                       <span id="_mce_caret" data-mce-bogus="1" style="">
                         <strong>Until we get some formatting!!!!</strong>
                       </span>
                     </p>'}]
}

接下来是 Jade 标记:

.container.content
    h2 !{post[0].title}
    hr
    div 
      !{post[0].content}

至少 HTML 输出:

<div class="container content">
  <h2><p>Well, I'll tell you about that...</p></h2>
  <hr/>
  <div>
    <p>
      Sometimes, we are just not sure about these things&nbsp;
      <span id="_mce_caret" data-mce-bogus="1" style="">
        <strong>Until we get some formatting!!!!</strong>
      </span>
     </p>
  </div>
</div>

和一个工作jsFiddle

于 2014-02-25T16:48:51.837 回答