2017-07-18 17 views
1

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

是否有任何自由这个要求或自动做到这一点?

回答

3

这将包装由段落(<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

最简单的解决方案是您可以用<br>替换新的行字符。

尝试

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

,那么你就完成了。

+0

我这样做,但没有把'

'和'

'在开始和行结束它不起作用。 – Jeet

1

好最后此代码段为我工作 -

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

这是一个很大打击和审判,但最终它的工作。

+1

它可能“为你工作”。但是,我很抱歉地说,这是一个丑陋的解决方案。这些“
”也是明显错误的。 – jox

+0

你可以请建议一个更好的方法。我很想获得更好的解决方案,并非常感谢您的回复。 – Jeet

+0

当然,请看我的答案。 – jox