Analitcs

Pesquisar no conteúdo do blog.atlabs.com.br

sexta-feira, 17 de julho de 2015

DELPHI - Converter caracteres especias (acentuados) para exibição em html

Reações: 
function ConvertEspecialCharHTML(AText: String): String;
var
  I : Integer;
  FText, StrA, StrB, StrC : String;
  Function HasEspecialCharHTML(AChr : Char):Boolean;
  begin
    Result := False;
    case AChr of
        'Á',
        'á',
        'Â',
        'â',
        'À',
        'à',
        'Å',
        'å',
        'Ã',
        'ã',
        'Ä',
        'ä',
        'Æ',
        'æ',
        'É',
        'é',
        'Ê',
        'ê',
        'È',
        'è',
        'Ë',
        'ë',
        'Ð',
        'ð',
        'Í',
        'í',
        'Î',
        'î',
        'Ì',
        'ì',
        'Ï',
        'ï',
        'Ó',
        'ó',
        'Ô',
        'ô',
        'Ò',
        'ò',
        'Ø',
        'ø',
        'Õ',
        'õ',
        'Ö',
        'ö',
        'Ú',
        'ú',
        'Û',
        'û',
        'Ù',
        'ù',
        'Ü',
        'ü',
        'Ç',
        'ç',
        'Ñ',
        'ñ',
        '<',
        '>',
        '&',
        '"',
        '®',
        '©',
        'Ý',
        'ý',
        'Þ',
        'þ',
        'ß' : Result := True;
    end;
  end;
begin
  FText := AText;
  for I := 1 to Length(FText) do
  begin
    if HasEspecialCharHTML(FText[I]) then
    begin
      StrA := '';
      StrB := '';
      StrC := '';

      StrA := Copy(FText, 1, I - 1);
      StrC := Copy(FText, I + 1, Length(FText));

      case FText[I] of
        'Á' : StrB := '&Aacute;';
        'á' : StrB := '&aacute;';
        'Â' : StrB := '&Acirc;';
        'â' : StrB := '&acirc;';
        'À' : StrB := '&Agrave;';
        'à' : StrB := '&agrave;';
        'Å' : StrB := '&Aring;';
        'å' : StrB := '&aring;';
        'Ã' : StrB := '&Atilde;';
        'ã' : StrB := '&atilde;';
        'Ä' : StrB := '&Auml;';
        'ä' : StrB := '&auml;';
        'Æ' : StrB := '&AElig;';
        'æ' : StrB := '&aelig;';
        'É' : StrB := '&Eacute;';
        'é' : StrB := '&eacute;';
        'Ê' : StrB := '&Ecirc;';
        'ê' : StrB := '&ecirc;';
        'È' : StrB := '&Egrave;';
        'è' : StrB := '&egrave;';
        'Ë' : StrB := '&Euml;';
        'ë' : StrB := '&euml;';
        'Ð' : StrB := '&ETH;';
        'ð' : StrB := '&eth;';
        'Í' : StrB := '&Iacute;';
        'í' : StrB := '&iacute;';
        'Î' : StrB := '&Icirc;';
        'î' : StrB := '&icirc;';
        'Ì' : StrB := '&Igrave;';
        'ì' : StrB := '&igrave;';
        'Ï' : StrB := '&Iuml;';
        'ï' : StrB := '&iuml;';
        'Ó' : StrB := '&Oacute;';
        'ó' : StrB := '&oacute;';
        'Ô' : StrB := '&Ocirc;';
        'ô' : StrB := '&ocirc;';
        'Ò' : StrB := '&Ograve;';
        'ò' : StrB := '&ograve;';
        'Ø' : StrB := '&Oslash;';
        'ø' : StrB := '&oslash;';
        'Õ' : StrB := '&Otilde;';
        'õ' : StrB := '&otilde;';
        'Ö' : StrB := '&Ouml;';
        'ö' : StrB := '&ouml;';
        'Ú' : StrB := '&Uacute;';
        'ú' : StrB := '&uacute;';
        'Û' : StrB := '&Ucirc;';
        'û' : StrB := '&ucirc;';
        'Ù' : StrB := '&Ugrave;';
        'ù' : StrB := '&ugrave;';
        'Ü' : StrB := '&Uuml;';
        'ü' : StrB := '&uuml;';
        'Ç' : StrB := '&Ccedil;';
        'ç' : StrB := '&ccedil;';
        'Ñ' : StrB := '&Ntilde;';
        'ñ' : StrB := '&ntilde;';
        '<' : StrB := '&lt;';
        '>' : StrB := '&gt;';
        '&' : StrB := '&amp;';
        '"' : StrB := '&quot;';
        '®' : StrB := '&reg;';
        '©' : StrB := '&copy;';
        'Ý' : StrB := '&Yacute;';
        'ý' : StrB := '&yacute;';
        'Þ' : StrB := '&THORN;';
        'þ' : StrB := '&thorn;';
        'ß' : StrB := '&szlig;';
      end;
      FText := StrA + StrB + StrC;
    end;
  end;
  Result := FText;
end;

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.

Max Gehringer