2017-07-18 16 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