--[[ @Titulo: COVERTER PARA CARACTERES ACENTUADOS @Objetivo: Converter uma sequência de escape em seu caracter acentuado correspondente. @Contexto: LIMPAR STRING. @Recursos: Sequência de escape que deve ser substituída, tabela com caracteres acentuados e códigos de escape correspondentes. @Atores: sistema. ]]-- local function converteEscapeHtml(escape) -- Episódio 1: Cria uma tabela com todos os caracteres acentuados e seus códigos de escape correspondentes. local conversoesHtml = { ["Agrave"] = 'À', ["Aacute"] = 'Á', ["Acirc"] = 'Â', ["Atilde"] = 'Ã', ["agrave"] = 'à', ["aacute"] = 'á', ["acirc"] = 'â', ["atilde"] = 'ã', ["Ccedil"] = 'Ç', ["ccedil"] = 'ç', ["Egrave"] = 'È', ["Eacute"] = 'É', ["Ecirc"] = 'Ê', ["egrave"] = 'è', ["eacute"] = 'é', ["ecirc"] = 'ê', ["Igrave"] = 'Ì', ["Iacute"] = 'Í', ["Icirc"] = 'Î', ["igrave"] = 'ì', ["iacute"] = 'í', ["icirc"] = 'î', ["Ntilde"] = 'Ñ', ["ntilde"] = 'ñ', ["Ograve"] = 'Ò', ["Oacute"] = 'Ó', ["Ocirc"] = 'Ô', ["Otilde"] = 'Õ', ["ograve"] = 'ò', ["oacute"] = 'ó', ["ocirc"] = 'ô', ["otilde"] = 'õ', ["Ugrave"] = 'Ù', ["Uacute"] = 'Ú', ["Ucirc"] = 'Û', ["Uuml"] = 'Ü', ["ugrave"] = 'ù', ["uacute"] = 'ú', ["ucirc"] = 'û', ["uuml"] = 'ü', ["amp"] = "&", ["nbsp"] = " ", } --Episódio 2: Retorna o caracter acentuado corresponde a sequência de escape recebida ou remove o escape. return conversoesHtml[escape] or "" end --[[ @Titulo: COVERTER PARA CARACTERES DE ESCAPE @Objetivo: Converter uma sequência de caracteres acentuados em seu caracter de escape correspondente. @Contexto: LIMPAR STRING. @Recursos: caractere acentuado a ser substituído , tabela (reversa) com caracteres acentuados e códigos de escape correspondentes. @Atores: sistema. ]]-- local function converteCaractereEmEscapeHtml(caractere) -- Episódio 1: Cria uma tabela com todos os caracteres acentuados e seus códigos de escape correspondentes. local conversoesEscape = { ['À'] = "À", ['Á'] = "Á", ['Â'] = "Â", ['Ã'] = "Ã", ['à'] = "à", ['á'] = "á", ['â'] = "â", ['ã'] = "ã", ['Ç'] = "Ç", ['ç'] = "ç", ['È'] = "È", ['É'] = "É", ['Ê'] = "Ê", ['è'] = "è", ['é'] = "é", ['ê'] = "ê", ['Ì'] = "Ì", ['Í'] = "Í", ['Î'] = "Î", ['ì'] = "ì", ['í'] = "í", ['î'] = "î", ['Ñ'] = "Ñ", ['ñ'] = "ñ", ['Ò'] = "Ò", ['Ó'] = "Ó", ['Ô'] = "Ô", ['Õ'] = "Õ", ['ò'] = "ò", ['ó'] = "ó", ['ô'] = "ô", ['õ'] = "õ", ['Ù'] = "Ù", ['Ú'] = "Ú", ['Û'] = "Û", ['Ü'] = "Ü", ['ù'] = "ù", ['ú'] = "ú", ['û'] = "û", ['ü'] = "ü", ['&'] = "&", [' '] = " ", } --Episódio 2: Retorna o caracter acentuado corresponde a sequência de escape recebida ou remove o escape. return conversoesEscape[caractere] or caractere end