Autore Topic: Convertire del testo HTML in testo normale (plain text, non formattato)  (Letto 4638 volte)

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
La classe android.text.Html mette a disposizione il metodo fromHtml() che permette di convertire una stringa contenente testo HTML in una di plain text (testo non formattato):

Codice (Java): [Seleziona]
String strPlainText = Html.fromHtml(strHtmlText).toString();
strHtmlText:
Codice (HTML): [Seleziona]
Ho provato con l&#38;#39;SDK 1.6 e funziona perfettamente. Tu che versione stai utilizzando?<br /><br />Questo è l&#38;#39;XML:
strPlainText:
Codice: [Seleziona]
Ho provato con l'SDK 1.6 e funziona perfettamente. Tu che versione stai utilizzando?

Questo è l'XML:

Documentazione:
Citazione
public static Spanned fromHtml (String source)

Returns displayable styled text from the provided HTML string. Any <img> tags in the HTML will display as a generic replacement image which your program can then go through and replace with real images.

This uses TagSoup to handle real HTML, including all of the brokenness found in the wild.

Fonte: Html | Android Developers
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline JJ

  • Nuovo arrivato
  • *
  • Post: 28
  • Immigrato in Francia...
  • Respect: +1
    • Google+
    • opengeek_blog
    • Mostra profilo
    • OpenGeek
  • Dispositivo Android:
    Nexus 4, Nexus 5, Nexus 7
  • Play Store ID:
    Purple Soc. Coop.
  • Sistema operativo:
    Windows 10
Re:Convertire del testo HTML in testo normale (plain text, non formattato)
« Risposta #1 il: 16 Maggio 2012, 13:28:36 CEST »
0
Ciao JD,
ottima mini-guida, mi è stata utile.
Volevo però chiederti una cosa: ho usato la classe HTML ed il metodo .fromHtml(...), su una parte di codice HTML che ho "parserizzato" da un sito.
Nel testo che mi viene estratto, appaiono dei rombi con il punto interrogativo al posto dei caratteri speciali (ò, à, è, ', tanto per citarne alcuni).

Ad esempio:
Codice (Java): [Seleziona]
text = Html.fromHtml(codice_maledetto).toString();
La variabile "codice_maledetto" me la ricavo così:
Codice (Java): [Seleziona]
Object[] info_nodes = rootNode.evaluateXPath(elementName);
                String text = "";
                int i = 0;
                while (i < info_nodes.length)
                {
                        Log.i(LOG_TAG, "DATO IN LAVORAZIONE");
                        // Parte di codice per l'identificazione dei dati
                        TagNode info_node = (TagNode) info_nodes[i];
                        text = Html.fromHtml(info_node.getChildren().toString()).toString();
                        i++;
                }
                return text;

La parte di testo che cerco di ricavare dal codice HMTL è racchiuso in questo tag:
Codice (XML): [Seleziona]
<span style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; font-weight:bold;">In questo testo ci sono caratteri che non saranno presi in considerazione, come ò à ù è ' , cosa fare?</span>
Ho usato HTMLCleaner per parserizzare l'url.
Che sia un classico problema di codifica dei caratteri? Oppure è un limite di HTMLCleaner?
Mi trovate anche su www.opengeek.it !
Comics Checklist: scopri tutte le uscite dei fumetti in italiano! http://goo.gl/TF6CTn

Offline JJ

  • Nuovo arrivato
  • *
  • Post: 28
  • Immigrato in Francia...
  • Respect: +1
    • Google+
    • opengeek_blog
    • Mostra profilo
    • OpenGeek
  • Dispositivo Android:
    Nexus 4, Nexus 5, Nexus 7
  • Play Store ID:
    Purple Soc. Coop.
  • Sistema operativo:
    Windows 10
Re:Convertire del testo HTML in testo normale (plain text, non formattato)
« Risposta #2 il: 27 Maggio 2012, 18:59:15 CEST »
0
Topic deserto o_O ...
Cmq mi son dato da fare e cambiando parser (Jsoup) ho ottenuto maggiori risultati.
Inoltre su questo link c'è la soluzione a come decodificare i caratteri speciali (per ora solo le vocali accentate).
Il problema persiste con l'apostrofo! Cercherò una soluzione e la posterò.
Spero possa essere utile a chi come me è diventato un seguace del Mosconi...
Mi trovate anche su www.opengeek.it !
Comics Checklist: scopri tutte le uscite dei fumetti in italiano! http://goo.gl/TF6CTn

Offline JJ

  • Nuovo arrivato
  • *
  • Post: 28
  • Immigrato in Francia...
  • Respect: +1
    • Google+
    • opengeek_blog
    • Mostra profilo
    • OpenGeek
  • Dispositivo Android:
    Nexus 4, Nexus 5, Nexus 7
  • Play Store ID:
    Purple Soc. Coop.
  • Sistema operativo:
    Windows 10
Re:Convertire del testo HTML in testo normale (plain text, non formattato)
« Risposta #3 il: 27 Maggio 2012, 23:46:01 CEST »
+1
Ed ho trovato anche la soluzione per gli accenti: link .
Sys!
Mi trovate anche su www.opengeek.it !
Comics Checklist: scopri tutte le uscite dei fumetti in italiano! http://goo.gl/TF6CTn