function escape(text) { var e = { "<": "<", ">": ">", "'": "'" }; return text.replace(/[<>']/g, function (c) { return e[c]; }); } Handlebars.registerHelper( "uri", function(text) { var urls = []; text = URI.withinString(text, function(url) { urls.push(url); return "$(" + (urls.length - 1) + ")"; }); text = escape(text); for (var i in urls) { var url = escape(urls[i]); var replace = url; if (url.indexOf("javascript:") !== 0) { replace = "" + url + ""; } text = text.replace( "$(" + i + ")", replace ); } return text; } );