2022-02-27 08:29:03 (UTC-03:00)
Marcel Rodrigues <marcelgmr@gmail.com>
add template.escape()
diff --git a/src/template.lua b/src/template.lua index ae5e32c..4eb0a5d 100644 --- a/src/template.lua +++ b/src/template.lua @@ -91,4 +91,18 @@ local function render_file(fname, env) return render_str(str, env) end -return {render_str=render_str, render_file=render_file} +local function escape(str) + local esc_tab = {["&"]=38, ["<"]=60, [">"]=62} + local esc = "" + for i = 1, #str do + local c = str:sub(i, i) + local n = esc_tab[c] + if n ~= nil then + c = "&#" .. n .. ";" + end + esc = esc .. c + end + return esc +end + +return {render_str=render_str, render_file=render_file, escape=escape}