【问题标题】:How to force line break when showing the content in HTML and javascript在 HTML 和 javascript 中显示内容时如何强制换行
【发布时间】:2020-03-06 16:02:43
【问题描述】:

加载“消息”类接收的“消息”字段的内容时需要换行:“”,但所有加载的文本都显示在单线。
咨询在Mysql银行进行。
该项目是用Javascript完成的。
显示方式: player.Mensagem = "第 1 行第 2 行第 3 行"
我如何需要: player.Mensagem = "
1号线
2号线
第 3 行“

<form class="add-player-form" action="" method="post" enctype="multipart/form-data">
    <ul id="chat">
        <li class="you">
            <div class="entete">
                <span class="status green"></span>
                <input type="hidden" id="Celular" name="Celular" value="<%= player.Celular %>">
                <input type="hidden" id="NomeCompleto" name="NomeCompleto" value="<%= player.NomeCompleto %>">

                <h2><%= player.Celular %></h2>
                <h3>10:12AM, Today</h3>
            </div>
            <div class="triangle"></div>
            <div class="message">
                <%= player.Mensagem %>
            </div>
        </li>
</form>

非常感谢!

【问题讨论】:

  • 你用什么框架来做车把,你可以通过用 (" ") 分割变量并在 html 中添加一个 br 标记来循环访问变量
  • 我正在使用“ejs”。请问,这个怎么分?
  • 在双引号字符串中,使用"\n"——或者更好的是,在构建字符串时使用模板文字:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…。 (或者,当然,如果您可以在字符串之间插入 HTML 元素,您可以选择使用 &lt;br /&gt; 元素。)

标签: javascript html node.js ejs


【解决方案1】:

您可以使用replace(/\n/g, '&lt;br&gt;')&lt;%- 将未转义的值输出到模板中

<%- player.Mensagem.replace(/\n/g, '<br>') %>

但如果该值有可能包含 html 代码,则应将其转义以防止代码注入。

<%- ejs.escapeXML(player.Mensagem).replace(/\n/g, '<br>') %>

或者您可以保持模板标签不变,并在您的“消息”类或 div 元素上使用 CSS white-space: pre-wrap

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 2017-06-28
    • 2011-07-11
    • 2021-03-17
    • 1970-01-01
    • 2017-10-06
    相关资源
    最近更新 更多