Convertir los carácteres especiales de HTML

4923 vistas

Para ello tendremos que escribir una función especial:



delphi
  1. function filtroHTML(const s: string): string;
  2. var
  3.   idx: integer;
  4. begin
  5.   Result := '';
  6.   for idx := 1 to Length(s) do
  7.   begin
  8.     case s[idx] of
  9.       '&' : result := result +  '&';
  10.       '<' : result := result +  '<';
  11.       '>' : result := result +  '>';
  12.       '"' : result := result +  '"';
  13.       '™' : result := result +  '™';
  14.       '©' : result := result +  '©';
  15.       '®' : result := result +  '®';
  16.       'À' : result := result +  'À';
  17.       'Á' : result := result +  'Á';
  18.       'Â' : result := result +  'Â';
  19.       'Ã' : result := result +  'Ã';
  20.       'Ä' : result := result +  'Ä';
  21.       'Å' : result := result +  'Å';
  22.       'Æ' : result := result +  'Æ';
  23.       'Ç' : result := result +  'Ç';
  24.       'È' : result := result +  'È';
  25.       'É' : result := result +  'É';
  26.       'Ê' : result := result +  'Ê';
  27.       'Ë' : result := result +  'Ë';
  28.       'Ì' : result := result +  'Ì';
  29.       'Í' : result := result +  'Í';
  30.       'Î' : result := result +  'Î';
  31.       'Ï' : result := result +  'Ï';
  32.       'Ð' : result := result +  'Ð';
  33.       'Ñ' : result := result +  'Ñ';
  34.       'Ò' : result := result +  'Ò';
  35.       'Ó' : result := result +  'Ó';
  36.       'Ô' : result := result +  'Ô';
  37.       'Õ' : result := result +  'Õ';
  38.       'Ö' : result := result +  'Ö';
  39.       'Ø' : result := result +  'Ø';
  40.       'Ù' : result := result +  'Ù';
  41.       'Ú' : result := result +  'Ú';
  42.       'Û' : result := result +  'Û';
  43.       'Ü' : result := result +  'Ü';
  44.       'Ý' : result := result +  'Ý';
  45.       'Þ' : result := result +  'Þ';
  46.       'ß' : result := result +  'ß';
  47.       'à' : result := result +  'à';
  48.       'á' : result := result +  'á';
  49.       'â' : result := result +  'â';
  50.       'ã' : result := result +  'ã';
  51.       'ä' : result := result +  'ä';
  52.       'å' : result := result +  'å';
  53.       'æ' : result := result +  'æ';
  54.       'ç' : result := result +  'ç';
  55.       'è' : result := result +  'è';
  56.       'é' : result := result +  'é';
  57.       'ê' : result := result +  'ê';
  58.       'ë' : result := result +  'ë';
  59.       'ì' : result := result +  'ì';
  60.       'Ã' : result := result +  'Ã';
  61.       'î' : result := result +  'î';
  62.       'ï' : result := result +  'ï';
  63.       'ð' : result := result +  'ð';
  64.       'ñ' : result := result +  'ñ';
  65.       'ò' : result := result +  'ò';
  66.       'ó' : result := result +  'ó';
  67.       'ô' : result := result +  'ô';
  68.       'õ' : result := result +  'õ';
  69.       'ö' : result := result +  'ö';
  70.       'ø' : result := result +  'ø';
  71.       'ù' : result := result +  'ù';
  72.       'ú' : result := result +  'ú';
  73.       'û' : result := result +  'û';
  74.       'ü' : result := result +  'ü';
  75.       'ý' : result := result +  'ý';
  76.       'þ' : result := result +  'þ';
  77.       'ÿ' : result := result +  'ÿ';
  78.       '¡' : result := result +  '¡';
  79.       '¢' : result := result +  '¢';
  80.       '£' : result := result +  '£';
  81.       '¤' : result := result +  '¤';
  82.       '¥' : result := result +  '¥';
  83.       '¦' : result := result +  '¦';
  84.       '§' : result := result +  '§';
  85.       '¨' : result := result +  '¨';
  86.       'ª' : result := result +  'ª';
  87.       '«' : result := result +  '«';
  88.       '¬' : result := result +  '­';
  89.       '¯' : result := result +  '¯';
  90.       '°' : result := result +  '°';
  91.       '±' : result := result +  '±';
  92.       '²' : result := result +  '²';
  93.       '³' : result := result +  '³';
  94.       '´' : result := result +  '´';
  95.       'µ' : result := result +  'µ';
  96.       '·' : result := result +  '·';
  97.       '¸' : result := result +  '¸';
  98.       '¹' : result := result +  '¹';
  99.       'º' : result := result +  'º';
  100.       '»' : result := result +  '»';
  101.       '¼' : result := result +  '¼';
  102.       '½' : result := result +  '½';
  103.       '¾' : result := result +  '¾';
  104.       '¿' : result := result +  '¿';
  105.       '×' : result := result +  '×';
  106.       '÷' : result := result +  '÷';
  107.       '€' : result := result +  '€';
  108.       else result := result + s[idx];
  109.     end;
  110.   end;
  111. end;