Simplest JavaScript templates

renderTemplate("<p class={class}>{content}</p>", { class: "foo", content: "lorem ipsum dolor" });

by gryzzly

JavaScript

var renderTemplate = function(tpl, dict) {
    if (!dict) return tpl;
    return tpl.replace(/\{([\w.\-]+)\}/g, function(key, submatch) {
        return ({}).hasOwnProperty.call(dict, submatch) ? dict[submatch] : key;
    });
};

// usage example:
document.getElementsByTagName('body')[0].innerHTML =
renderTemplate("<p class={class}>{content}</p>", {
    'class': "foo",
    'content': "lorem ipsum dolor"
});