[英]Replacing placeholders in Email Template
替換 email 模塊中占位符的更好方法是什么?
因此,我制作了一個郵件服務,它采用templatename
、 receiverMail
和locals
等參數。 locals 具有占位符的值。
var locals = {
username: "John",
website: "w3schools.com",
url: "http:// abc. com"
};
mail.sendMail('Registration', 'xyz.com', locals);
郵件服務的相關代碼:-
var mailOptions = {
from: "Abc <foo@blurdybloop.com>", // sender address
to: email, // list of receivers
subject: template_subject, // Subject line
html: template_html // html body
template_html
包含 html 正文,包括從 mongodb 中提取的placeholders
。
locals
是動態的,可以增加或減少。
替換占位符的方法是什么?
模板:-(請注意這些占位符是動態的,可以由管理員更改)
<p>
Hi {{username}},
</p>
<p>
Xyz would like you to join it's network on <a href="{{url}}">xyz</a>.
<br />
Our website {{ website }}
</p>
我們可以使用正則表達式來搜索和替換用戶指定數據的模板。
我已經提出了一個小型演示
在這里,我將用實際數據替換模板。
我使用以下代碼替換模板中的數據:
for (var i = 0; i < data.length; i++) {
var obj = data[i];
output +="<p>" + template.replace(/\<%=(.*?)\%>/g, function(match, property) {
return obj[property];
}) + "</p>";
}
在此 function 中,使用RegExp將所有標簽替換為參數中傳遞的 object 中的值
在此示例中,在我的 html 模板中使用{{key}}
function replaceTemplateValues(template, values){ let html = template; for (let key in values) { html = html.replace(new RegExp('{{' + key + '}}', 'g'), values[key]); } return html; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.