-- See http://www.ascii.cl/htmlcodes.htm -- str = string.gsub(str, '', '') function unescape(str) -- Symbols str = string.gsub(str, ' ', ' ') -- space str = string.gsub(str, '!', '!') -- exclamation point str = string.gsub(str, '"', '"') -- double quotes str = string.gsub(str, '"', '"') -- double quotes str = string.gsub(str, '#', '#') -- number sign str = string.gsub(str, '$', '$') -- dollar sign str = string.gsub(str, '%', '%') -- percent sign str = string.gsub(str, ''', '\'') -- single quote str = string.gsub(str, ''', '\'') -- single quote str = string.gsub(str, '(', '(') -- opening parenthesis str = string.gsub(str, ')', ')') -- closing parenthesis str = string.gsub(str, '*', '*') -- asterisk str = string.gsub(str, '+', '+') -- plus sign str = string.gsub(str, ',', ',') -- comma str = string.gsub(str, '-', '-') -- minus sign - hyphen str = string.gsub(str, '.', '.') -- period str = string.gsub(str, '/', '/') -- slash str = string.gsub(str, ':', ':') -- colon str = string.gsub(str, ';', ';') -- semicolon str = string.gsub(str, '<', '<') -- less than sign str = string.gsub(str, '<', '<') -- less than sign str = string.gsub(str, '=', '=') -- equal sign str = string.gsub(str, '>', '>') -- greater than sign str = string.gsub(str, '>', '>') -- greater than sign str = string.gsub(str, '?', '?') -- question mark str = string.gsub(str, '@', '@') -- at symbol str = string.gsub(str, '[', '[') -- opening bracket str = string.gsub(str, '\', '\\') -- backslash str = string.gsub(str, ']', ']') -- closing bracket str = string.gsub(str, '^', '^') -- caret - circumflex str = string.gsub(str, '_', '_') -- underscore str = string.gsub(str, '`', '`') -- grave accent str = string.gsub(str, '{', '{') -- opening brace str = string.gsub(str, '|', '|') -- vertical bar str = string.gsub(str, '}', '}') -- closing brace str = string.gsub(str, '~', '~') -- equivalency sign - tilde str = string.gsub(str, ' ', ' ') -- non-breaking space str = string.gsub(str, ' ', ' ') -- non-breaking space str = string.gsub(str, '¡', '¡') -- inverted exclamation mark str = string.gsub(str, '¡', '¡') -- inverted exclamation mark str = string.gsub(str, '¢', '¢') -- cent sign str = string.gsub(str, '¢', '¢') -- cent sign str = string.gsub(str, '£', '£') -- pound sign str = string.gsub(str, '£', '£') -- pound sign str = string.gsub(str, '¤', '¤') -- currency sign str = string.gsub(str, '¤', '¤') -- currency sign str = string.gsub(str, '¥', '¥') -- yen sign str = string.gsub(str, '¥', '¥') -- yen sign str = string.gsub(str, '¦', '¦') -- broken vertical bar str = string.gsub(str, '¦', '¦') -- broken vertical bar str = string.gsub(str, '§', '§') -- section sign str = string.gsub(str, '§', '§') -- section sign str = string.gsub(str, '¨', '¨') -- spacing diaeresis - umlaut str = string.gsub(str, '¨', '¨') -- spacing diaeresis - umlaut str = string.gsub(str, '©', '©') -- copyright sign str = string.gsub(str, '©', '©') -- copyright sign str = string.gsub(str, 'ª', 'ª') -- feminine ordinal indicator str = string.gsub(str, 'ª', 'ª') -- feminine ordinal indicator str = string.gsub(str, '«', '«') -- left double angle quotes str = string.gsub(str, '«', '«') -- left double angle quotes str = string.gsub(str, '¬', '¬') -- not sign str = string.gsub(str, '¬', '¬') -- not sign str = string.gsub(str, '­', '') -- soft hyphen str = string.gsub(str, '­', '') -- soft hyphen str = string.gsub(str, '®', '®') -- registered trade mark sign str = string.gsub(str, '®', '®') -- registered trade mark sign str = string.gsub(str, '¯', '¯') -- spacing macron - overline str = string.gsub(str, '¯', '¯') -- spacing macron - overline str = string.gsub(str, '°', '°') -- degree sign str = string.gsub(str, '°', '°') -- degree sign str = string.gsub(str, '±', '±') -- plus-or-minus sign str = string.gsub(str, '±', '±') -- plus-or-minus sign str = string.gsub(str, '²', '²') -- superscript two - squared str = string.gsub(str, '²', '²') -- superscript two - squared str = string.gsub(str, '³', '³') -- superscript three - cubed str = string.gsub(str, '³', '³') -- superscript three - cubed str = string.gsub(str, '´', '´') -- acute accent - spacing acute str = string.gsub(str, '´', '´') -- acute accent - spacing acute str = string.gsub(str, 'µ', 'µ') -- micro sign str = string.gsub(str, 'µ', 'µ') -- micro sign str = string.gsub(str, '¶', '¶') -- pilcrow sign - paragraph sign str = string.gsub(str, '¶', '¶') -- pilcrow sign - paragraph sign str = string.gsub(str, '·', '·') -- middle dot - Georgian comma str = string.gsub(str, '·', '·') -- middle dot - Georgian comma str = string.gsub(str, '¸', '¸') -- spacing cedilla str = string.gsub(str, '¸', '¸') -- spacing cedilla str = string.gsub(str, '¹', '¹') -- superscript one str = string.gsub(str, '¹', '¹') -- superscript one str = string.gsub(str, 'º', 'º') -- masculine ordinal indicator str = string.gsub(str, 'º', 'º') -- masculine ordinal indicator str = string.gsub(str, '»', '»') -- right double angle quotes str = string.gsub(str, '»', '»') -- right double angle quotes str = string.gsub(str, '¼', '¼') -- fraction one quarter str = string.gsub(str, '¼', '¼') -- fraction one quarter str = string.gsub(str, '½', '½') -- fraction one half str = string.gsub(str, '½', '½') -- fraction one half str = string.gsub(str, '¾', '¾') -- fraction three quarters str = string.gsub(str, '¾', '¾') -- fraction three quarters str = string.gsub(str, '¿', '¿') -- inverted question mark str = string.gsub(str, '¿', '¿') -- inverted question mark str = string.gsub(str, '×', '×') -- multiplication sign str = string.gsub(str, '×', '×') -- multiplication sign str = string.gsub(str, '÷', '÷') -- division sign str = string.gsub(str, '÷', '÷') -- division sign str = string.gsub(str, '‎', '') -- left-to-right mark str = string.gsub(str, '‎', '') -- left-to-right mark str = string.gsub(str, '‏', '') -- right-to-left mark str = string.gsub(str, '‏', '') -- right-to-left mark str = string.gsub(str, '–', '–') -- en dash str = string.gsub(str, '–', '–') -- en dash str = string.gsub(str, '—', '—') -- em dash str = string.gsub(str, '—', '—') -- em dash str = string.gsub(str, '‘', '‘') -- left single quotation mark str = string.gsub(str, '‘', '‘') -- left single quotation mark str = string.gsub(str, '’', '’') -- right single quotation mark str = string.gsub(str, '’', '’') -- right single quotation mark str = string.gsub(str, '‚', '‚') -- single low-9 quotation mark str = string.gsub(str, '‚', '‚') -- single low-9 quotation mark str = string.gsub(str, '“', '“') -- left double quotation mark str = string.gsub(str, '“', '“') -- left double quotation mark str = string.gsub(str, '”', '”') -- right double quotation mark str = string.gsub(str, '”', '”') -- right double quotation mark str = string.gsub(str, '„', '„') -- double low-9 quotation mark str = string.gsub(str, '„', '„') -- double low-9 quotation mark str = string.gsub(str, '†', '†') -- dagger str = string.gsub(str, '†', '†') -- dagger str = string.gsub(str, '‡', '‡') -- double dagger str = string.gsub(str, '‡', '‡') -- double dagger str = string.gsub(str, '•', '•') -- bullet str = string.gsub(str, '•', '•') -- bullet str = string.gsub(str, '…', '…') -- horizontal ellipsis str = string.gsub(str, '…', '…') -- horizontal ellipsis str = string.gsub(str, '‰', '‰') -- per thousand sign str = string.gsub(str, '‰', '‰') -- per thousand sign str = string.gsub(str, '⁈', '€') -- euro sign str = string.gsub(str, '€', '€') -- euro sign str = string.gsub(str, '™', '™') -- trade mark sign str = string.gsub(str, '™', '™') -- trade mark sign str = string.gsub(str, '←', '←') -- left arrow str = string.gsub(str, '←', '←') -- left arrow str = string.gsub(str, '→', '→') -- right arrow str = string.gsub(str, '→', '→') -- right arrow str = string.gsub(str, '−', '−') -- minus sign str = string.gsub(str, '−', '−') -- minus sign -- Numbers str = string.gsub(str, '0', '0') -- zero str = string.gsub(str, '1', '1') -- one str = string.gsub(str, '2', '2') -- two str = string.gsub(str, '3', '3') -- three str = string.gsub(str, '4', '4') -- four str = string.gsub(str, '5', '5') -- five str = string.gsub(str, '6', '6') -- six str = string.gsub(str, '7', '7') -- seven str = string.gsub(str, '8', '8') -- eight str = string.gsub(str, '9', '9') -- nine -- Big letters str = string.gsub(str, 'A', 'A') str = string.gsub(str, 'B', 'B') str = string.gsub(str, 'C', 'C') str = string.gsub(str, 'D', 'D') str = string.gsub(str, 'E', 'E') str = string.gsub(str, 'F', 'F') str = string.gsub(str, 'G', 'G') str = string.gsub(str, 'H', 'H') str = string.gsub(str, 'I', 'I') str = string.gsub(str, 'J', 'J') str = string.gsub(str, 'K', 'K') str = string.gsub(str, 'L', 'L') str = string.gsub(str, 'M', 'M') str = string.gsub(str, 'N', 'N') str = string.gsub(str, 'O', 'O') str = string.gsub(str, 'P', 'P') str = string.gsub(str, 'Q', 'Q') str = string.gsub(str, 'R', 'R') str = string.gsub(str, 'S', 'S') str = string.gsub(str, 'T', 'T') str = string.gsub(str, 'U', 'U') str = string.gsub(str, 'V', 'V') str = string.gsub(str, 'W', 'W') str = string.gsub(str, 'X', 'X') str = string.gsub(str, 'Y', 'Y') str = string.gsub(str, 'Z', 'Z') -- Small letters str = string.gsub(str, 'a', 'a') str = string.gsub(str, 'b', 'b') str = string.gsub(str, 'c', 'c') str = string.gsub(str, 'd', 'd') str = string.gsub(str, 'e', 'e') str = string.gsub(str, 'f', 'f') str = string.gsub(str, 'g', 'g') str = string.gsub(str, 'h', 'h') str = string.gsub(str, 'i', 'i') str = string.gsub(str, 'j', 'j') str = string.gsub(str, 'k', 'k') str = string.gsub(str, 'l', 'l') str = string.gsub(str, 'm', 'm') str = string.gsub(str, 'n', 'n') str = string.gsub(str, 'o', 'o') str = string.gsub(str, 'p', 'p') str = string.gsub(str, 'q', 'q') str = string.gsub(str, 'r', 'r') str = string.gsub(str, 's', 's') str = string.gsub(str, 't', 't') str = string.gsub(str, 'u', 'u') str = string.gsub(str, 'v', 'v') str = string.gsub(str, 'w', 'w') str = string.gsub(str, 'x', 'x') str = string.gsub(str, 'y', 'y') str = string.gsub(str, 'z', 'z') -- Latin capital letters str = string.gsub(str, 'À', 'À') -- latin capital letter A with grave str = string.gsub(str, 'À', 'À') -- latin capital letter A with grave str = string.gsub(str, 'Á', 'Á') -- latin capital letter A with acute str = string.gsub(str, 'Á', 'Á') -- latin capital letter A with acute str = string.gsub(str, 'Â', 'Â') -- latin capital letter A with circumflex str = string.gsub(str, 'Â', 'Â') -- latin capital letter A with circumflex str = string.gsub(str, 'Ã', 'Ã') -- latin capital letter A with tilde str = string.gsub(str, 'Ã', 'Ã') -- latin capital letter A with tilde str = string.gsub(str, 'Ä', 'Ä') -- latin capital letter A with diaeresis str = string.gsub(str, 'Ä', 'Ä') -- latin capital letter A with diaeresis str = string.gsub(str, 'Å', 'Å') -- latin capital letter A with ring above str = string.gsub(str, 'Å', 'Å') -- latin capital letter A with ring above str = string.gsub(str, 'Æ', 'Æ') -- latin capital letter AE str = string.gsub(str, 'Æ', 'Æ') -- latin capital letter AE str = string.gsub(str, 'Ç', 'Ç') -- latin capital letter C with cedilla str = string.gsub(str, 'Ç', 'Ç') -- latin capital letter C with cedilla str = string.gsub(str, 'È', 'È') -- latin capital letter E with grave str = string.gsub(str, 'È', 'È') -- latin capital letter E with grave str = string.gsub(str, 'É', 'É') -- latin capital letter E with acute str = string.gsub(str, 'É', 'É') -- latin capital letter E with acute str = string.gsub(str, 'Ê', 'Ê') -- latin capital letter E with circumflex str = string.gsub(str, 'Ê', 'Ê') -- latin capital letter E with circumflex str = string.gsub(str, 'Ë', 'Ë') -- latin capital letter E with diaeresis str = string.gsub(str, 'Ë', 'Ë') -- latin capital letter E with diaeresis str = string.gsub(str, 'Ì', 'Ì') -- latin capital letter I with grave str = string.gsub(str, 'Ì', 'Ì') -- latin capital letter I with grave str = string.gsub(str, 'Í', 'Í') -- latin capital letter I with acute str = string.gsub(str, 'Í', 'Í') -- latin capital letter I with acute str = string.gsub(str, 'Î', 'Î') -- latin capital letter I with circumflex str = string.gsub(str, 'Î', 'Î') -- latin capital letter I with circumflex str = string.gsub(str, 'Ï', 'Ï') -- latin capital letter I with diaeresis str = string.gsub(str, 'Ï', 'Ï') -- latin capital letter I with diaeresis str = string.gsub(str, 'Ð', 'Ð') -- latin capital letter ETH str = string.gsub(str, 'Ð', 'Ð') -- latin capital letter ETH str = string.gsub(str, 'Ñ', 'Ñ') -- latin capital letter N with tilde str = string.gsub(str, 'Ñ', 'Ñ') -- latin capital letter N with tilde str = string.gsub(str, 'Ò', 'Ò') -- latin capital letter O with grave str = string.gsub(str, 'Ò', 'Ò') -- latin capital letter O with grave str = string.gsub(str, 'Ó', 'Ó') -- latin capital letter O with acute str = string.gsub(str, 'Ó', 'Ó') -- latin capital letter O with acute str = string.gsub(str, 'Ô', 'Ô') -- latin capital letter O with circumflex str = string.gsub(str, '&Ocrc;', 'Ô') -- latin capital letter O with circumflex str = string.gsub(str, 'Õ', 'Õ') -- latin capital letter O with tilde str = string.gsub(str, 'Õ', 'Õ') -- latin capital letter O with tilde str = string.gsub(str, 'Ö', 'Ö') -- latin capital letter O with diaeresis str = string.gsub(str, 'Ö', 'Ö') -- latin capital letter O with diaeresis str = string.gsub(str, 'Ø', 'Ø') -- latin capital letter O with slash str = string.gsub(str, 'Ø', 'Ø') -- latin capital letter O with slash str = string.gsub(str, 'Ù', 'Ù') -- latin capital letter U with grave str = string.gsub(str, 'Ù', 'Ù') -- latin capital letter U with grave str = string.gsub(str, 'Ú', 'Ú') -- latin capital letter U with acute str = string.gsub(str, 'Ú', 'Ú') -- latin capital letter U with acute str = string.gsub(str, 'Û', 'Û') -- latin capital letter U with circumflex str = string.gsub(str, 'Û', 'Û') -- latin capital letter U with circumflex str = string.gsub(str, 'Ü', 'Ü') -- latin capital letter U with diaeresis str = string.gsub(str, 'Ü', 'Ü') -- latin capital letter U with diaeresis str = string.gsub(str, 'Ý', 'Ý') -- latin capital letter Y with acute str = string.gsub(str, 'Ý', 'Ý') -- latin capital letter Y with acute str = string.gsub(str, 'Þ', 'Þ') -- latin capital letter THORN str = string.gsub(str, 'Þ', 'Þ') -- latin capital letter THORN str = string.gsub(str, 'Œ', 'Œ') -- latin capital letter OE str = string.gsub(str, 'Š', 'Š') -- latin capital letter S with caron str = string.gsub(str, 'Ÿ', 'Ÿ') -- latin capital letter Y with diaeresis -- Latin small letters str = string.gsub(str, 'ß', 'ß') -- latin small letter sharp s - ess-zed str = string.gsub(str, 'ß', 'ß') -- latin small letter sharp s - ess-zed str = string.gsub(str, 'à', 'à') -- latin small letter a with grave str = string.gsub(str, 'à', 'à') -- latin small letter a with grave str = string.gsub(str, 'á', 'á') -- latin small letter a with acute str = string.gsub(str, 'á', 'á') -- latin small letter a with acute str = string.gsub(str, 'â', 'â') -- latin small letter a with circumflex str = string.gsub(str, 'â', 'â') -- latin small letter a with circumflex str = string.gsub(str, 'ã', 'ã') -- latin small letter a with tilde str = string.gsub(str, 'ã', 'ã') -- latin small letter a with tilde str = string.gsub(str, 'ä', 'ä') -- latin small letter a with diaeresis str = string.gsub(str, 'ä', 'ä') -- latin small letter a with diaeresis str = string.gsub(str, 'å', 'å') -- latin small letter a with ring above str = string.gsub(str, 'å', 'å') -- latin small letter a with ring above str = string.gsub(str, 'æ', 'æ') -- latin small letter ae str = string.gsub(str, 'æ', 'æ') -- latin small letter ae str = string.gsub(str, 'ç', 'ç') -- latin small letter c with cedilla str = string.gsub(str, 'ç', 'ç') -- latin small letter c with cedilla str = string.gsub(str, 'è', 'è') -- latin small letter e with grave str = string.gsub(str, 'è', 'è') -- latin small letter e with grave str = string.gsub(str, 'é', 'é') -- latin small letter e with acute str = string.gsub(str, 'é', 'é') -- latin small letter e with acute str = string.gsub(str, 'ê', 'ê') -- latin small letter e with circumflex str = string.gsub(str, 'ê', 'ê') -- latin small letter e with circumflex str = string.gsub(str, 'ë', 'ë') -- latin small letter e with diaeresis str = string.gsub(str, 'ë', 'ë') -- latin small letter e with diaeresis str = string.gsub(str, 'ì', 'ì') -- latin small letter i with grave str = string.gsub(str, 'ì', 'ì') -- latin small letter i with grave str = string.gsub(str, 'í', 'í') -- latin small letter i with acute str = string.gsub(str, 'í', 'í') -- latin small letter i with acute str = string.gsub(str, 'î', 'î') -- latin small letter i with circumflex str = string.gsub(str, 'î', 'î') -- latin small letter i with circumflex str = string.gsub(str, 'ï', 'ï') -- latin small letter i with diaeresis str = string.gsub(str, 'ï', 'ï') -- latin small letter i with diaeresis str = string.gsub(str, 'ð', 'ð') -- latin small letter eth str = string.gsub(str, 'ð', 'ð') -- latin small letter eth str = string.gsub(str, 'ñ', 'ñ') -- latin small letter n with tilde str = string.gsub(str, 'ñ', 'ñ') -- latin small letter n with tilde str = string.gsub(str, 'ò', 'ò') -- latin small letter o with grave str = string.gsub(str, 'ò', 'ò') -- latin small letter o with grave str = string.gsub(str, 'ó', 'ó') -- latin small letter o with acute str = string.gsub(str, 'ó', 'ó') -- latin small letter o with acute str = string.gsub(str, 'ô', 'ô') -- latin small letter o with circumflex str = string.gsub(str, 'ô', 'ô') -- latin small letter o with circumflex str = string.gsub(str, 'õ', 'õ') -- latin small letter o with tilde str = string.gsub(str, 'õ', 'õ') -- latin small letter o with tilde str = string.gsub(str, 'ö', 'ö') -- latin small letter o with diaeresis str = string.gsub(str, 'ö', 'ö') -- latin small letter o with diaeresis str = string.gsub(str, 'ø', 'ø') -- latin small letter o with slash str = string.gsub(str, 'ø', 'ø') -- latin small letter o with slash str = string.gsub(str, 'ù', 'ù') -- latin small letter u with grave str = string.gsub(str, 'ù', 'ù') -- latin small letter u with grave str = string.gsub(str, 'ú', 'ú') -- latin small letter u with acute str = string.gsub(str, 'ú', 'ú') -- latin small letter u with acute str = string.gsub(str, 'û', 'û') -- latin small letter u with circumflex str = string.gsub(str, 'û', 'û') -- latin small letter u with circumflex str = string.gsub(str, 'ü', 'ü') -- latin small letter u with diaeresis str = string.gsub(str, 'ü', 'ü') -- latin small letter u with diaeresis str = string.gsub(str, 'ý', 'ý') -- latin small letter y with acute str = string.gsub(str, 'ý', 'ý') -- latin small letter y with acute str = string.gsub(str, 'þ', 'þ') -- latin small letter thorn str = string.gsub(str, 'þ', 'þ') -- latin small letter thorn str = string.gsub(str, 'ÿ', 'ÿ') -- latin small letter y with diaeresis str = string.gsub(str, 'ÿ', 'ÿ') -- latin small letter y with diaeresis str = string.gsub(str, 'œ', 'œ') -- latin small letter oe str = string.gsub(str, 'š', 'š') -- latin small letter s with caron str = string.gsub(str, 'ƒ', 'ƒ') -- latin small f with hook - function -- Special -- Emoticons (more soon) str = string.gsub(str, '⭐️', '⭐️') -- Japanese Katakana/Kanji (See http://symbolcodes.tlt.psu.edu/bylanguage/japanesechartkatakana.html) -- Japanese Hiragana (Need a table...) -- Be sure to do this after all others str = string.gsub(str, '&', '&') -- amper sand str = string.gsub(str, '&', '&') -- amper sand return str end