在PUG中解析数据库中的数据

Parsing data from database in PUG(在PUG中解析数据库中的数据)
本文介绍了在PUG中解析数据库中的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的mongo数据库中有此数据,但我无法控制它,因为从应用程序导出到数据库的数据会更新html标记(我认为正确的术语是‘编码’,但我不确定)

<div>This is some test profile text<br /></div><div><br /></div><div>Hop this prints fine<br /></div><div><br /></div><div><b>Hello</b><br /></div><div><br /></div><div>Testing</div>

当我尝试用解析它时

      .exhibitor-profile
          | !{exhibitor.profile}

打印如下

<div>This is some test profile text<br /></div><div><br /></div><div>Hop this prints fine<br /></div><div><br /></div><div><b>Hello</b><br /></div><div><br /></div><div>Testing</div>

如果我使用

      .exhibitor-profile
          | #{exhibitor.profile}

打印如下

&lt;div>This is some test profile text&lt;br />&lt;/div>&lt;div>&lt;br />&lt;/div>&lt;div>Hop this prints fine&lt;br />&lt;/div>&lt;div>&lt;br />&lt;/div>&lt;div>&lt;b>Hello&lt;/b>&lt;br />&lt;/div>&lt;div>&lt;br />&lt;/div>&lt;div>Testing&lt;/div>

与数据库中的数据基本相同。但是我希望它输出为HTML..

如何执行此操作?

推荐答案

如果您正在使用节点,请继续阅读。

安装js-htmlencode包:

npm install -S js-htmlencode
然后通过htmlDecode方法运行一次原始数据库输出。在将数据传递到PUG脚本之前,您应该在服务器应用程序中执行此操作:

服务器Javascript:

const htmlDecode = require("js-htmlencode").htmlDecode;
app.get("/htmldecode", (req, res) => {
  const raw = "&lt;h1>This is &lt;span style='color:red'>RED&lt;/span>!!&lt;/h1>"
  res.render("htmldecode", { raw: raw, decoded: htmlDecode(raw) })
});

htmldecde.pug:

html
  head
  body 
    h3 Html Decoding Twice
    p Using !: !{raw}
    p Using #: #{raw}
    p Final: !{decoded}

实际产量:

需要注意的是,!{raw}不会渲染到<h1>…中。它按字面表示,即转换为&lt;h1>…。该浏览器将&lt;显示为<

请注意使用!运算符时的所有注意事项。

这篇关于在PUG中解析数据库中的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

how to remove this error quot;Response must contain an array at quot; . quot;.quot; while making dropdown(如何删除此错误quot;响应必须在quot;处包含数组。创建下拉菜单时(Q;))
Why is it necessary to use `document.createElementNS` when adding `svg` tags to an HTML document via JS?(为什么在通过JS为一个HTML文档添加`svg`标签时,需要使用`Document.createElementNS`?)
wkhtmltopdf print-media-type uses @media print ONLY and ignores the rest(Wkhtmltopdf print-media-type仅使用@media print,而忽略其余内容)
price depend on selection of radio input(价格取决于无线电输入的选择)
calculate price depend on selection without button(根据没有按钮的选择计算价格)
What should I consider before minifying HTML?(在缩小HTML之前,我应该考虑什么?)