You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在EJS文件中实现文本的换行输出?

解决EJS循环输出文本每行单独换行的问题

首先先修正你代码里的一个标签匹配错误:<p>Novel Title</h3> 应该改成 <h3>Novel Title</h3>(如果用作标题)或者 <p>Novel Title</p>,避免HTML结构异常。

针对每行文本单独换行的需求,有几种简单的实现方式:

方法1:每行添加<br>标签

直接在循环输出每个文本元素后追加<br>标签,HTML渲染时会自动换行:

<p>
<% for( let index = 0; index < text.length; index++ ) { %>
  <%- text[index] %><br>
<% } %>
</p>

方法2:使用<pre>标签保留原始格式

<pre>标签会保留文本中的换行和空格,适合需要保留原始排版的场景。你可以用数组的join方法直接拼接换行符,比循环更简洁:

<pre>
<%- text.join('\n') %>
</pre>

如果需要在循环中处理额外逻辑,也可以手动添加换行符:

<pre>
<% for( let index = 0; index < text.length; index++ ) { %>
  <%- text[index] %>\n
<% } %>
</pre>

方法3:通过CSS控制换行

给文本容器添加white-space: pre-line样式,这样文本中的换行符会被识别为换行,同时自动合并多余空格:

  1. 修改EJS代码,用join拼接带换行的字符串:
<p class="novel-content">
<%- text.join('\n') %>
</p>
  1. 添加对应CSS样式:
.novel-content {
  white-space: pre-line;
}

内容的提问来源于stack exchange,提问作者BBB_TOAD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 09:49:13