-- 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: | 2883 / 452 |
| Referenced in: | #3000190 - Answer for stefanreich(>> t 20 questions) #3000382 - Answer for ferdie (>> t = 1, f = 0) #3000383 - Answer for funkoverflow (>> t=1, f=0 okay) #3000505 - Smart Bot's answer to: !eval wikipedia("Captain America") |