【问题标题】:Text to HTML conversion in Node JsNode Js 中的文本到 HTML 转换
【发布时间】:2020-12-09 02:42:53
【问题描述】:

我正在使用nodemailer 从节点服务器发送邮件。我从 MSSQL SQL 服务器获取此邮件的内容,该邮件格式为纯文本格式,这意味着其中有换行符,但是当我使用 nodemailer 发送它时,换行符丢失并且整个文本看起来一团糟。另一种方法是在纯文本中插入用于换行的html标签并发送它可以正常工作。但是我正在寻找一个可以将纯文本转换为我可以使用邮件发送的 html 的库或实用程序,涉及到太多的人工工作。

是否有针对此要求的任何库或自动执行此操作的方法?

【问题讨论】:

    标签: html nodemailer text-to-html


    【解决方案1】:

    以下内容将包含在段落中由多个换行符分隔的所有部分 (<p>...</p>) 并在只有一个换行符的地方插入换行符 (<br>)。没有任何换行符的文本块将简单地包装在一个段落中。

    template = '<p>' + template.replace(/\n{2,}/g, '</p><p>').replace(/\n/g, '<br>') + '</p>';
    

    例如,它会这样:

    Title
    
    First line.
    Second line.
    
    Footer
    

    并将其转换为:

    <p>Title</p><p>First line.<br>Second line.</p><p>Footer</p>
    

    【讨论】:

      【解决方案2】:

      最简单的解决方案是您可以将换行符替换为&lt;br&gt;。

      试试

      text.split('\n').join('\n<br>\n')
      

      那么你就完成了。

      【讨论】:

      • 我这样做了,但没有将 &lt;p&gt; 和 &lt;/p&gt; 放在行的开头和结尾,它不起作用。
      【解决方案3】:

      好吧,最后这段代码 sn-p 对我有用 -

      template = template.replace(/\n/gi, "</p></br/>")
      template = template.replace(/<\/p>/gi, "</p><p></br/>")
      

      这是一个很大的打击和试验,但最终它奏效了。

      【讨论】:

      • 它可能对你“有用”。但是,我很遗憾地说,这是一个丑陋的解决方案。这些“/>”也是完全错误的。
      • 您能否提出一个更好的方法。我很想得到一个更好的解决方案,非常感谢您的回复。
      • 当然,请看我的回答。
      猜你喜欢
      • 2020-09-23
      • 2016-07-27
      • 2018-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-18
      • 1970-01-01
      相关资源
      最近更新 更多