在电子邮件模块中替换占位符的更好方法是什么?
所以,我做了一个邮件服务,它接受像templatename,receiverMail和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 bodytemplate_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>发布于 2014-02-05 21:27:33
我们可以使用正则表达式搜索模板,并将其替换为用户指定的数据。
我已经在网上发布了一个小演示
在这里,我将用实际数据替换模板。
我使用以下代码替换模板中的数据:
for (var i = 0; i < data.length; i++) {
var obj = data[i];
output +="<p>" + template.replace(/\<%=(.*?)\%>/g, function(match, property) {
return obj[property];
}) + "</p>";
}https://stackoverflow.com/questions/21578355
复制相似问题