EJS呈现HTML

时间:2018-07-18 17:20:19

标签: html node.js express ejs

我在Express和MongoDB上有一个简单的博客应用程序,使用EJS呈现数据。

我的问题是我希望将此样式设置为一个段落:

<div class="show-post__content">

   <%= post.body %>

 </div>

post.body的内容为:'<p>Hello there, this is a new post.</p>'

但是它是这样渲染的:

如果图片不起作用,则显示为带有括号,而不是看起来像实际的html p标签(如果有任何意义的话)... 有人知道如何解决这个问题吗?

非常感谢,

Raph

2 个答案:

答案 0 :(得分:1)

我知道了:

<div class="show-post__content">

   <%- post.body %>

 </div>

是答案。

感谢您的光临!

答案 1 :(得分:1)

说实话,我一周前也遇到过类似的问题 任务是禁用javascript。我用消毒剂做到了。 在插入MongoDB之前,我先清理了用户信息。 因此,建议您使用sanitize-html striptags进行此操作。 这些软件包位于npm中,您可以下载该软件包。 希望您能解决问题。

var striptags = require('striptags');    
    YourCollectionName.find({}, function (err, obj) {
      if (err) {
        //handle or throw error
      }

  // For all the documents, remove html tags and save
  obj.forEach(function(ob){
    ob.body= striptags(ob.body);
    ob.save();
  });
});