如何在编写变量 ejs、node.js 时禁用默认修剪?

Posted

技术标签:

【中文标题】如何在编写变量 ejs、node.js 时禁用默认修剪?【英文标题】:How to disable default trim in writing variable ejs, node.js? 【发布时间】:2019-08-28 02:00:27 【问题描述】:

当我从数据库向 EJS 表中写入变量时,它是由 ejs 模板用默认修剪编写的。我想编写没有默认修剪的数据库变量。

我检查了 ejs 模板文档(https://ejs.co),但他们没有帮助我。

<%- fetchpost[i].p_content %> -> 使用 html

<%= fetchpost[i].p_content %> -> 只有字符串

【问题讨论】:

【参考方案1】:

默认情况下,EJS 似乎不会修剪数据。如果您的内容有空格,则应保留它们。我为此创建了一个测试: https://noderun.com/alex/ejs-trim-test/

但是,HTML 在由浏览器呈现时不会连续呈现多个空格(这可能是您的问题)。在这种情况下,您可以尝试:

<%- content.replace(/ /g, "&nbsp;") %>

这会将空格替换为 HTML 不间断空格。

【讨论】:

另外,其他用户也可以
标签和style="white-space: pre;"功能来解决这个问题。

以上是关于如何在编写变量 ejs、node.js 时禁用默认修剪?的主要内容,如果未能解决你的问题,请参考以下文章

尝试通过 express node.js 提供 ejs 文件时出错

在Javascript(node.js,express.js,ejs)中访问服务器端变量[关闭]

如何在渲染 ejs 视图 Node.js 时捕获错误

如何使用 Express / Node.JS 创建可在所有视图中访问的全局变量?

node.js ejs模板引擎将后端数据赋值给前端js

如何在 node.js EJS 视图中转义 HTML?