webmcp

annotate framework/env/encode/html.lua @ 405:c5f9a1b2f225

Updated year of copyright notice
author jbe
date Wed Jan 06 02:54:45 2016 +0100 (2016-01-06)
parents 9fdfb27f8e67
children
rev   line source
jbe/bsw@0 1 --[[--
jbe/bsw@0 2 result = -- encoded string
jbe/bsw@0 3 encode.html(
jbe/bsw@0 4 str -- original string
jbe/bsw@0 5 )
jbe/bsw@0 6
jbe/bsw@0 7 This function replaces the special characters '<', '>', '&' and '"' by their HTML entities '&lt;', '&rt;', '&amp;' and '&quot;'.
jbe/bsw@0 8
jbe/bsw@0 9 NOTE: ACCELERATED FUNCTION
jbe/bsw@0 10 Do not change unless also you also update webmcp_accelerator.c
jbe/bsw@0 11
jbe/bsw@0 12 --]]--
jbe/bsw@0 13
jbe/bsw@0 14 function encode.html(text)
jbe/bsw@0 15 -- TODO: perhaps filter evil control characters?
jbe/bsw@0 16 return (
jbe/bsw@0 17 string.gsub(
jbe/bsw@0 18 text, '[<>&"]',
jbe/bsw@0 19 function(char)
jbe/bsw@0 20 if char == '<' then
jbe/bsw@0 21 return "&lt;"
jbe/bsw@0 22 elseif char == '>' then
jbe/bsw@0 23 return "&gt;"
jbe/bsw@0 24 elseif char == '&' then
jbe/bsw@0 25 return "&amp;"
jbe/bsw@0 26 elseif char == '"' then
jbe/bsw@0 27 return "&quot;"
jbe/bsw@0 28 end
jbe/bsw@0 29 end
jbe/bsw@0 30 )
jbe/bsw@0 31 )
jbe/bsw@0 32 end

Impressum / About Us