Buscar

Htmldecode para delphi win32:

Código

Se vc já desenvolveu algo com htmlencode em D8, D9 ou D2006, ou mesmo em VS em .NET ou ASP.NET para prevenir SQLInjections e possui aplicações locais em delphi win32 vc ja acabou se complicando pq nao existe a lib pra desconverter akilo em win32. Sendo assim, abaixo, formulei uma função para o proprio sqlserver resolver o problema e ja mandar pronto o field resultante... acho q poucas modificações seriam necessarias para algum outro bd...

espero ter contribuido...

CREATE FUNCTION HTML_Decode(@Texto VARCHAR(8000))
RETURNS Varchar(8000)
AS BEGIN
DECLARE @TextoTemp VARCHAR(8000)
SET @TextoTemp = @Texto

SET @TextoTemp = REPLACE(@TextoTemp, '"', '"')
SET @TextoTemp = REPLACE(@TextoTemp, '&', '&')
SET @TextoTemp = REPLACE(@TextoTemp, '<', '<')
SET @TextoTemp = REPLACE(@TextoTemp, '>', '>')
SET @TextoTemp = REPLACE(@TextoTemp, '€', '€')
SET @TextoTemp = REPLACE(@TextoTemp, '‚', '‚')
SET @TextoTemp = REPLACE(@TextoTemp, 'ƒ', 'ƒ')
SET @TextoTemp = REPLACE(@TextoTemp, '„', '„')
SET @TextoTemp = REPLACE(@TextoTemp, '…', '…')
SET @TextoTemp = REPLACE(@TextoTemp, '†', '†')
SET @TextoTemp = REPLACE(@TextoTemp, '‡', '‡')
SET @TextoTemp = REPLACE(@TextoTemp, 'ˆ', 'ˆ')
SET @TextoTemp = REPLACE(@TextoTemp, '‰', '‰')
SET @TextoTemp = REPLACE(@TextoTemp, 'Š', 'Š')
SET @TextoTemp = REPLACE(@TextoTemp, '‹', '‹')
SET @TextoTemp = REPLACE(@TextoTemp, 'Œ', 'Œ')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ž', 'Ž')
SET @TextoTemp = REPLACE(@TextoTemp, '‘', '‘')
SET @TextoTemp = REPLACE(@TextoTemp, '’', '’')
SET @TextoTemp = REPLACE(@TextoTemp, '“', '“')
SET @TextoTemp = REPLACE(@TextoTemp, '”', '”')
SET @TextoTemp = REPLACE(@TextoTemp, '•', '•')
SET @TextoTemp = REPLACE(@TextoTemp, '–', '–')
SET @TextoTemp = REPLACE(@TextoTemp, '—', '—')
SET @TextoTemp = REPLACE(@TextoTemp, '˜', '˜')
SET @TextoTemp = REPLACE(@TextoTemp, '™', '™')
SET @TextoTemp = REPLACE(@TextoTemp, 'š', 'š')
SET @TextoTemp = REPLACE(@TextoTemp, '›', '›')
SET @TextoTemp = REPLACE(@TextoTemp, 'œ', 'œ')
SET @TextoTemp = REPLACE(@TextoTemp, 'ž', 'ž')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ÿ', 'Ÿ')
SET @TextoTemp = REPLACE(@TextoTemp, '¡', '¡')
SET @TextoTemp = REPLACE(@TextoTemp, '¢', '¢')
SET @TextoTemp = REPLACE(@TextoTemp, '£', '£')
SET @TextoTemp = REPLACE(@TextoTemp, '¤', '¤')
SET @TextoTemp = REPLACE(@TextoTemp, '¥', '¥')
SET @TextoTemp = REPLACE(@TextoTemp, '¦', '¦')
SET @TextoTemp = REPLACE(@TextoTemp, '§', '§')
SET @TextoTemp = REPLACE(@TextoTemp, '¨', '¨')
SET @TextoTemp = REPLACE(@TextoTemp, '©', '©')
SET @TextoTemp = REPLACE(@TextoTemp, 'ª', 'ª')
SET @TextoTemp = REPLACE(@TextoTemp, '«', '«')
SET @TextoTemp = REPLACE(@TextoTemp, '¬', '¬')
SET @TextoTemp = REPLACE(@TextoTemp, '­', '­')
SET @TextoTemp = REPLACE(@TextoTemp, '®', '®')
SET @TextoTemp = REPLACE(@TextoTemp, '¯', '¯')
SET @TextoTemp = REPLACE(@TextoTemp, '°', '°')
SET @TextoTemp = REPLACE(@TextoTemp, '±', '±')
SET @TextoTemp = REPLACE(@TextoTemp, '²', '²')
SET @TextoTemp = REPLACE(@TextoTemp, '³', '³')
SET @TextoTemp = REPLACE(@TextoTemp, '´', '´')
SET @TextoTemp = REPLACE(@TextoTemp, 'µ', 'µ')
SET @TextoTemp = REPLACE(@TextoTemp, '¶', '¶')
SET @TextoTemp = REPLACE(@TextoTemp, '·', '·')
SET @TextoTemp = REPLACE(@TextoTemp, '¸', '¸')
SET @TextoTemp = REPLACE(@TextoTemp, '¹', '¹')
SET @TextoTemp = REPLACE(@TextoTemp, 'º', 'º')
SET @TextoTemp = REPLACE(@TextoTemp, '»', '»')
SET @TextoTemp = REPLACE(@TextoTemp, '¼', '¼')
SET @TextoTemp = REPLACE(@TextoTemp, '½', '½')
SET @TextoTemp = REPLACE(@TextoTemp, '¾', '¾')
SET @TextoTemp = REPLACE(@TextoTemp, '¿', '¿')
SET @TextoTemp = REPLACE(@TextoTemp, 'À', 'À')
SET @TextoTemp = REPLACE(@TextoTemp, 'Á', 'Á')
SET @TextoTemp = REPLACE(@TextoTemp, 'Â', 'Â')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ã', 'Ã')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ä', 'Ä')
SET @TextoTemp = REPLACE(@TextoTemp, 'Å', 'Å')
SET @TextoTemp = REPLACE(@TextoTemp, 'Æ', 'Æ')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ç', 'Ç')
SET @TextoTemp = REPLACE(@TextoTemp, 'È', 'È')
SET @TextoTemp = REPLACE(@TextoTemp, 'É', 'É')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ê', 'Ê')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ë', 'Ë')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ì', 'Ì')
SET @TextoTemp = REPLACE(@TextoTemp, 'Í', 'Í')
SET @TextoTemp = REPLACE(@TextoTemp, 'Î', 'Î')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ï', 'Ï')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ð', 'Ð')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ñ', 'Ñ')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ò', 'Ò')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ó', 'Ó')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ô', 'Ô')
SET @TextoTemp = REPLACE(@TextoTemp, 'Õ', 'Õ')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ö', 'Ö')
SET @TextoTemp = REPLACE(@TextoTemp, '×', '×')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ø', 'Ø')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ù', 'Ù')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ú', 'Ú')
SET @TextoTemp = REPLACE(@TextoTemp, 'Û', 'Û')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ü', 'Ü')
SET @TextoTemp = REPLACE(@TextoTemp, 'Ý', 'Ý')
SET @TextoTemp = REPLACE(@TextoTemp, 'Þ', 'Þ')
SET @TextoTemp = REPLACE(@TextoTemp, 'ß', 'ß')
SET @TextoTemp = REPLACE(@TextoTemp, 'à', 'à')
SET @TextoTemp = REPLACE(@TextoTemp, 'á', 'á')
SET @TextoTemp = REPLACE(@TextoTemp, 'â', 'â')
SET @TextoTemp = REPLACE(@TextoTemp, 'ã', 'ã')
SET @TextoTemp = REPLACE(@TextoTemp, 'ä', 'ä')
SET @TextoTemp = REPLACE(@TextoTemp, 'å', 'å')
SET @TextoTemp = REPLACE(@TextoTemp, 'æ', 'æ')
SET @TextoTemp = REPLACE(@TextoTemp, 'ç', 'ç')
SET @TextoTemp = REPLACE(@TextoTemp, 'è', 'è')
SET @TextoTemp = REPLACE(@TextoTemp, 'é', 'é')
SET @TextoTemp = REPLACE(@TextoTemp, 'ê', 'ê')
SET @TextoTemp = REPLACE(@TextoTemp, 'ë', 'ë')
SET @TextoTemp = REPLACE(@TextoTemp, 'ì', 'ì')
SET @TextoTemp = REPLACE(@TextoTemp, 'í', 'í')
SET @TextoTemp = REPLACE(@TextoTemp, 'î', 'î')
SET @TextoTemp = REPLACE(@TextoTemp, 'ï', 'ï')
SET @TextoTemp = REPLACE(@TextoTemp, 'ð', 'ð')
SET @TextoTemp = REPLACE(@TextoTemp, 'ñ', 'ñ')
SET @TextoTemp = REPLACE(@TextoTemp, 'ò', 'ò')
SET @TextoTemp = REPLACE(@TextoTemp, 'ó', 'ó')
SET @TextoTemp = REPLACE(@TextoTemp, 'ô', 'ô')
SET @TextoTemp = REPLACE(@TextoTemp, 'õ', 'õ')
SET @TextoTemp = REPLACE(@TextoTemp, 'ö', 'ö')
SET @TextoTemp = REPLACE(@TextoTemp, '÷', '÷')
SET @TextoTemp = REPLACE(@TextoTemp, 'ø', 'ø')
SET @TextoTemp = REPLACE(@TextoTemp, 'ù', 'ù')
SET @TextoTemp = REPLACE(@TextoTemp, 'ú', 'ú')
SET @TextoTemp = REPLACE(@TextoTemp, 'û', 'û')
SET @TextoTemp = REPLACE(@TextoTemp, 'ü', 'ü')
SET @TextoTemp = REPLACE(@TextoTemp, 'ý', 'ý')
SET @TextoTemp = REPLACE(@TextoTemp, 'þ', 'þ')
SET @TextoTemp = REPLACE(@TextoTemp, 'ÿ', 'ÿ')

SET @Texto = @TextoTemp
RETURN @Texto
END

"Não negue informação a quem precisa"

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Windows
Adicionada dia: 23/08/06
Por: Marcos André Costa
Visualizada: 2747 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009