domingo, 24 de outubro de 2010

Remover tags HTML de uma String

Bom dia, tarde e/ou noite!
Em determinadas situações podemos precisar remover formatações em HTML de uma determinada String, como no meu caso, um aplicativo (Gestor de Conteúdo) espera um texto digitado pelo usuário, que formata como se estivesse em um editor de texto, colocando negrito, cor, tamanho, etç. O gestor de conteúdo armazena este texto no banco de dados, para que ele possa ser lido em outro(s) programas web. O problema é que toda a formatação incluída pelo usuário é transformada em HTML, já que o texto será exibido em um site.
Em determinado momento foi necessário utilizar o texto limpo, sem nenhuma formatação, mas o que fazer para limpar o texto?
Nem precisa pensar muito, a solução está aqui.
Basta utilizar o código (método) abaixo e pronto!
public static String removeCodigoAcentos(String texto){
texto = texto.replaceAll("<[/]*?.+?[/]*  ?>","");
             return texto;
    }
Calma, calma, eu explico.
O método apenas recebe uma String, de preferência o texto que se deseja limpar. É aplicada uma alteração nessa string e depois o resultado é devolvido. O pulo do gato está na “expressão regular” utilizada.
A Expressão Regular dentro do replaceAll significa mais ou menos isso,
Remove dessa string tudo que:
- Possuir um sinal de menor à extrema esquerda;
- E talvez tenha uma barra após o sinal de menor;
- E possuir um sinal de maior à extrema direita;
- E talvez tenha uma barra antes do sinal de maior;
- E tenha qualquer tipo de texto entre essas coisas descritas acima.
Entendeu? Então boa sorte!

Nenhum comentário:

Postar um comentário