2017-07-18 55 views
1

ノードサーバーからメールを送信するのにnodemailerを使用しています。私はこのメールの内容をプレーンテキスト形式のMSSQL SQLサーバーから取得しています。これは新しい行の文字があることを意味しますが、nodemailerを使用して送信すると改行文字が失われ、テキスト全体が乱れるように見えます。もう1つの方法は、プレーンテキストに改行のためのhtmlタグを挿入し、これをうまく送信することです。しかし、私が探しているのは、普通のテキストをメールで送ることができるhtmlに変換できるライブラリやユーティリティです。ノードJsのテキストからHTMLへの変換

この要件またはこれを自動的に行う方法の自由はありますか?

答えて

3

これは、段落(<p>...</p>)に複数の改行で区切られた部分を折り返し、改行が1つしかないところに改行(<br>)を挿入します。

Title 

First line. 
Second line. 

Footer 

をそして、これに変換します:

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

したがって、たとえば、それはこれを取るだろう

<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

[OK]を、最終的には、このコードスニペットは、私のために働いた -

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

これがヒットし、裁判の多くだったが、最終的にはそれが働きました。

+1

それはあなたのために "働く"かもしれません。しかし、申し訳ありませんが、それは醜い解決策です。これらの "
"も間違っています。 – jox

+0

より良いアプローチをお勧めしますか?私はもっ​​と良い解決策を得たいと思っています。ありがとうございました。 – Jeet

+0

確かに、私の答えを見てください。 – jox

関連する問題