Java – Remover tags HTML de uma String (How to remove HTML from String)


html to text

A classe ParserDelegator junto com a interface HTMLEditorKit.ParserCallback do pacote ‘javax.swing.text.html’ permite o reajuste de um texto em HTML para um texto comum, ajustando todas as tags de acentuação e retirando todas as demais tags. Vamos criar uma classe que será responsável por isso, veja abaixo:

public class HtmlToText extends HTMLEditorKit.ParserCallback {

    private StringBuilder s;

    public HtmlToText() {
    }

public String parse(String texto) throws Exception {
byte[] dados = texto.getBytes();
ByteArrayInputStream bais = new ByteArrayInputStream(dados);
Reader reader = new InputStreamReader(bais);
return parse(reader);
}

    public String parse(Reader in) throws IOException {
        s = new StringBuilder();
        ParserDelegator delegator = new ParserDelegator();
        delegator.parse(in, this, Boolean.TRUE);
        return getText();
    }

    @Override
    public void handleText(char[] text, int pos) {
        s.append(text);
        s.append("\n");
    }

    public String getText() {
        return s.toString();
    }
}

Para utilizarmos segue o exemplo:

Continuar lendo

Anúncios

Android – Remover tags HTML de uma String (How to remove HTML from String)


android_html

A classe Html do pacote ‘android.text’ permite que  todas as tags html de uma string seja retirada e ajustada sua acentuação, ela também permite a conversão de uma String em html padrão, veja abaixo como isso é feito:

import android.text.Html;

[...]
//texto html
String html = "<p><div>Corre&ccedil;&otilde;es Monitor 1.0.0.43:</div>";

//corrigindo o texto
String texto = Html.fromHtml(html).toString();

//passando para html
String texto2 = Html.toHtml(new SpannableString(texto));

//saida do sistema:
//html: "<p><div>Corre&ccedil;&otilde;es Monitor 1.0.0.43:</div>"
//texto: "Correções Monitor 1.0.0.43:"
//texto2: "<p>Correções Monitor 1.0.0.43:</P>"

Caso você não esteja trabalhando com o Android e queira fazer o mesmo no Java SE veja:
Java – Remover tags HTML de uma String (How to remove HTML from String)