我相信这是一个简单的问题,但似乎无法解决。
我在nodejs/express Web应用程序中安装了Quilljs编辑器,它将我的描述作为<p><strong>This is the quill data. How are we doing dev?</strong></p>
存储在mysql数据库中。
现在我的ejs页面看起来是这样的:
<% data.forEach(function(d,index){ %>
<p> <%= d.description %> </p>
<% }) %>
但这显然将数据呈现为存储在数据库中(具有p
和strong
标签(。
我尝试过的:
- 尝试使用
<pre>
,以便格式保持不变(只是新手尝试( - 尝试了jquery的
.html()
和.load()
方法将数据更新为HTML,但没有使用
如何将其转换为html?使得格式化的文本打印得到的HTML而不是源代码。
使用<%-
而不是<%=
<% data.forEach(function(d,index){ %>
<p> <%- d.description %> </p>
<% }) %>
您可以查看标签段落,以查看ejs文档中关于<%=
或<%-
的更多使用
注意:如果您这样做,请小心XSS问题
您需要一个经过消毒的html来保存您的html。
编辑1
您不需要将其分配给新变量。
<% data.forEach(function(d,index){ %>
<% if (d.description.length > 75) { %>
<p> <%- d.description.substring(0, 75) %> </p>
<% } else { %>
<p> <%- d.description %> </p>
<% }%>
<% }) %>
不要保存HTML。
这可能会给你带来很多问题。试着制作一些任意的数据结构,比如json,然后用EJS打印出来。