如何在编写变量 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 时禁用默认修剪?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 node.js 中设置默认时区?

将文件添加到目录时,在node.js中获取通知

如何仅使用 node.js(https 包)在 api 调用中禁用“withCredentials”

如何使用 node.js 和 Request 包禁用 HTTP 标头中的“withcredentials”?

运行 cron 作业 (Node.js) 时如何在 Amazon Elastic Beanstalk 中设置环境变量?

Firebase CLI 部署错误:“部署到 Node.js 10 以下的运行时现在在 Firebase CLI 中被禁用。”