在电子邮件模块中替换占位符的更好方法是什么?
所以,我制作了一个邮件服务,其中包含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
内容包含从mongodb中提取的placeholders
的html正文。
locals
是动态的&amp;可以增加或减少。
替换占位符的方法是什么?
模板: - (请注意,这些占位符是动态的,可以由管理员更改)
<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>
答案 0 :(得分:2)
我们可以使用正则表达式来搜索并用用户指定的数据替换模板。
我在
上放了一个小型演示我在这里用实际数据替换模板。
我使用以下代码替换模板中的数据:
for (var i = 0; i < data.length; i++) {
var obj = data[i];
output +="<p>" + template.replace(/\<%=(.*?)\%>/g, function(match, property) {
return obj[property];
}) + "</p>";
}