2010-05-27 14 views
55

Necesito decodificar entidades HTML, p. de & # 246; a ö, y & amp; a &.Decodificar entidades HTML en android

URLEncoder.decode(str) no hace el trabajo (convertir de anotaciones en%). TextUtils tiene un HTMLencode, pero no un HTMLdecode.

¿Hay alguna función para decodificar entidades HTML?

+0

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

+0

véase la respuesta http://stackoverflow.com/questions/6138127/how-to-do-url-decoding-in-java – marius

Respuesta

99

Se supone que el Html class hace eso, sin embargo, se dice que no todo es compatible. Siempre funcionó para mí, pero nunca lo tuve, así que no puedo decirlo. Pruebe Html.fromHtml(yourStr) para obtener la cadena decodificada.

+28

Y esto es taaan retardado ya que tengo que hacer esto como 'Html.fromHtml (Html.fromHtml ((String) body) .toString());' ¿Por qué no pueden simplemente agregar Html.decode? – Bostone

+3

Parece que en API nivel 16 han agregado 'Html.escapeHtml' – sFuller

+0

¡Gracias! Me funcionó ... @Bostone –

7

Basta con que puede hacer que el uso de este código

Html.fromHtml(String).toString(); 

Hope esto le ayudará a

+0

Déjame saber tu resultado – saeed

11

Html.fromHtml (cadena HTML) es DEPRECATED después v24 API por lo que esta es la forma correcta de hacerlo que

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

puede eliminar Char especial por parte de la cadena llamando

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

se puede convertir en una cadena de respuesta de htmlstring así - Html.fromHtml (cadena de respuesta aquí) Pero este método se amortizan API 24, de modo que hay que hacer en una manera- correcta

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)); 
} 
Cuestiones relacionadas