2010-05-27 1 views
55

Devo decodificare le entità HTML, ad es. da & n. 246; a ö e & amp; a &.Decodifica entità HTML in Android

URLEncoder.decode(str) non esegue il lavoro (conversione da% notazioni). TextUtils ha un codice HTML, ma non un codice HTML.

Esistono funzioni per la decodifica di entità HTML?

+0

http://stackoverflow.com/a/4882425/1224741 – QED

+0

vedi risposta http://stackoverflow.com/questions/6138127/how-to-do-url-decoding-in-java – marius

risposta

99

Si suppone che lo Html class lo faccia, tuttavia non è supportato tutto. Ha sempre funzionato per me, ma non ho mai avuto ö quindi non posso dire per questo. Prova Html.fromHtml(yourStr) per ottenere la stringa decodificata.

+28

E questo è mooolto ritardato dal momento che devo fare questo come 'Html.fromHtml (Html.fromHtml ((String) body) .toString());' Perché non possono semplicemente aggiungere Html.decode? – Bostone

+3

Sembra che nel livello API 16 abbiano aggiunto 'Html.escapeHtml' – sFuller

+0

Grazie !!! Ha funzionato per me ... @Bostone –

7

Semplicemente è possibile farlo utilizzando questo codice

Html.fromHtml(String).toString(); 

Spero che questo vi aiuterà a

+0

Fammi sapere il risultato – saeed

11

Html.fromHtml (stringa HTML) è deprecato dopo API v24 quindi questo è il modo corretto per farlo si

if (Build.VERSION.SDK_INT >= 24) 
    { 
     textView.setText(Html.fromHtml(htmlString , Html.FROM_HTML_MODE_LEGACY))); 
    } 
    else 
    { 
     textView.setText(Html.fromHtml(htmlString)); 
    } 
0

è possibile rimuovere carattere speciale da stringa chiamando

responsestring.replace(“special char here”, “”); 

che è possibile convertire la risposta in una stringa da htmlstring del genere - Html.fromHtml (stringa di risposta qui) Ma questo metodo è ammortizzato API 24 quindi è necessario farlo in un corretto modo-

if (Build.VERSION.SDK_INT >= 24) 
{ 
    post_description.setText(Html.fromHtml(response here , Html.FROM_HTML_MODE_LEGACY)); 
} 
else 
{ 
    post_description.setText(Html.fromHtml(response here)); 
}