webmcp
annotate framework/env/encode/html.lua @ 387:cd9329b3bd78
Changed version numbers of dependencies in documentation
author | jbe |
---|---|
date | Tue Dec 01 22:35:47 2015 +0100 (2015-12-01) |
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 '<', '&rt;', '&' and '"'. |
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 "<" |
jbe/bsw@0 | 22 elseif char == '>' then |
jbe/bsw@0 | 23 return ">" |
jbe/bsw@0 | 24 elseif char == '&' then |
jbe/bsw@0 | 25 return "&" |
jbe/bsw@0 | 26 elseif char == '"' then |
jbe/bsw@0 | 27 return """ |
jbe/bsw@0 | 28 end |
jbe/bsw@0 | 29 end |
jbe/bsw@0 | 30 ) |
jbe/bsw@0 | 31 ) |
jbe/bsw@0 | 32 end |