html标签实际上在浏览器中显示

时间:2018-09-11 03:21:28

标签: javascript html node.js ejs

<div id="list_content" readonly="readonly" style="resize: none;"><%= lists.content %></div>

这是我的html代码,并从node.js服务器获取列表变量。如果数据库中的内容为<p>This is test</p>,则不会解析HTML,而是显示<p>This is test</p>

2 个答案:

答案 0 :(得分:3)

如果要将HTML传递给ejs,请使用<%- lists.content %>代替<= lists.content %>

要了解有关不同类型的EJS标签的信息,请点击此处:http://ejs.co/

答案 1 :(得分:2)

在html中,'是一个特殊的字符。在显示html之前,您应该先对其进行html编码。

您可以使用以下htmlencode函数:

function htmlEncode(string) {
    return string.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, '&#39;')
        .replace(/</g, '&lt;').replace(/>/g, '&gt;');
}

像这样使用它:

<%= htmlEcode(lists.content) %>