-- Convert accented characters from a given string and return HTML entities in the output string. -- by Philippe Lhoste <PhiLho(a)GMX.net> http://Phi.Lho.free.fr -- v. 2.0 -- 2003/06/10 -- Better algorithm, using regular expression -- v. 1.0 -- 2003/04/19 -- Naive implementation -- from http://lua-users.org/files/wiki_insecure/users/PhiLho/3EncodeEntities.lua local entities = { -- ['&'] = "&", ['<'] = "<", ['>'] = ">", -- French entities (the most common ones) ['à'] = "à", ['â'] = "â", ['é'] = "é", ['è'] = "è", ['ê'] = "ê", ['ë'] = "ë", ['î'] = "î", ['ï'] = "ï", ['ô'] = "ô", ['ö'] = "ö", ['ù'] = "ù", ['û'] = "û", ['ÿ'] = "ÿ", ['À'] = "À", ['Â'] = "Â", ['É'] = "É", ['È'] = "È", ['Ê'] = "Ê", ['Ë'] = "Ë", ['Î'] = "Î", ['Ï'] = "Ï", ['Ô'] = "Ô", ['Ö'] = "Ö", ['Ù'] = "Ù", ['Û'] = "Û", ['ç'] = "ç", ['Ç'] = "Ç", ['Ÿ'] = "Ÿ", ['«'] = "«", ['»'] = "»", ['©'] = "©", ['®'] = "®", ['æ'] = "æ", ['Æ'] = "Æ", ['Œ'] = "Œ", -- Not understood by all browsers ['œ'] = "œ", -- Not understood by all browsers } function EncodeEntities3(toEncode) if toEncode == nil or type(toEncode) ~= "string" then return '' end local EncodeToEntities = function (char) local entity = entities[char] if entity == nil then local code = string.byte(char) if code > 127 then entity = string.format("&#%d;", code) end end return entity or char end entities['&'] = "&" -- I will replace '(.)' with '([^%c%s%w%p])' encodedString = string.gsub(toEncode, '(.)', EncodeToEntities) return encodedString end return EncodeEntities3(input)
test run test run with input download show line numbers
Travelled to 12 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
ID | Author/Program | Comment | Date | |
---|---|---|---|---|
963 | #1000604 (pitcher) | 2015-08-20 15:28:24 | ||
962 | #1000610 | Edit suggestion: !636 !629 main { static Object androidContext; static String programID; public static void main(String[] args) throws Exception { -- Convert accented characters from a given string and return HTML entities in the output string. -- by Philippe Lhoste <PhiLho(a)GMX.net> http://Phi.Lho.free.fr -- v. 2.0 -- 2003/06/10 -- Better algorithm, using regular expression -- v. 1.0 -- 2003/04/19 -- Naive implementation -- from http://lua-users.org/files/wiki_insecure/users/PhiLho/3EncodeEntities.lua local entities = { -- ['&'] = "&", ['<'] = "<", ['>'] = ">", -- French entities (the most common ones) ['à '] = "à", ['â'] = "â", ['é'] = "é", ['è'] = "è", ['ê'] = "ê", ['ë'] = "ë", ['î'] = "î", ['ï'] = "ï", ['ô'] = "ô", ['ö'] = "ö", ['ù'] = "ù", ['û'] = "û", ['ÿ'] = "ÿ", ['Ã?'] = "À", ['Ã?'] = "Â", ['Ã?'] = "É", ['Ã?'] = "È", ['Ã?'] = "Ê", ['Ã?'] = "Ë", ['Ã?'] = "Î", ['Ã'] = "Ï", ['Ã?'] = "Ô", ['Ã?'] = "Ö", ['Ã?'] = "Ù", ['Ã?'] = "Û", ['ç'] = "ç", ['Ã?'] = "Ç", ['Ÿ'] = "Ÿ", ['«'] = "«", ['»'] = "»", ['©'] = "©", ['®'] = "®", ['æ'] = "æ", ['Ã?'] = "Æ", ['Å?'] = "Œ", -- Not understood by all browsers ['Å?'] = "œ", -- Not understood by all browsers } function EncodeEntities3(toEncode) if toEncode == nil or type(toEncode) ~= "string" then return '' end local EncodeToEntities = function (char) local entity = entities[char] if entity == nil then local code = string.byte(char) if code > 127 then entity = string.format("&#%d;", code) end end return entity or char end entities['&'] = "&" -- I will replace '(.)' with '([^%c%s%w%p])' encodedString = string.gsub(toEncode, '(.)', EncodeToEntities) return encodedString end return EncodeEntities3(input) }} | 2015-08-20 08:33:07 | delete |
Recognizer | Recognition Result | Visualize | Recalc |
---|---|---|---|
#308 | 1915 | [visualize] |
Snippet ID: | #35 |
Snippet name: | Escape HTML entities |
Eternal ID of this version: | #35/1 |
Text MD5: | 59b10f4085073c01b1696819367af1a7 |
Author: | stefan |
Category: | tools |
Type: | Lua code |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2013-12-13 23:00:48 |
Source code size: | 1915 bytes / 73 lines |
Pitched / IR pitched: | Yes / Yes |
Views / Downloads: | 2149 / 327 |
Referenced in: | [show references] |