studio programacion herramientas fundamentos con avanzado aplicaciones java android html tags

java - programacion - Android recibe el texto de html



manual de android en pdf (2)

Escribe un analizador, no diferente de lo que harías en cualquier otra situación en la que tengas que analizar datos.

Ahora, si puede obtenerlo como HTML normal sin escindir, existe una gran variedad de analizadores HTML de código abierto que puede usar. Si va a trabajar con el código HTML escapado como lo hizo en su primer ejemplo, tendrá que escribir el analizador usted mismo.

Obtengo un código html especial:

& lt; p & gt; Esto es & lt; a href = & quot; http: //www.test.hu" & gt; un enlace de prueba & lt; / a & gt; y este es & amp; nbsp; un texto de muestra con un carácter especial: & amp; # 233; va & lt; / p & gt;

(No hay espacio antes; char, pero si no inserto espacio, el formato stackoverflow lo)

No es un código html normal, pero si pego en una página html vacía, el navegador lo muestra con etiquetas normales:

< p > Este es <a href = "http://www.test.hu"> un enlace de prueba < / a > y este es un texto de muestra con un carácter especial: éva < / p >

Este código se mostrará en un navegador:

Este es un enlace de prueba Y este es un texto de muestra con un carácter especial: éva

Así que quiero obtener este texto, pero no puedo usar Html.fromHtml , porque el componente que uso no admite Spanned . Quise probar StringEscapeUtils , pero no pude importarlo.

¿Cómo puedo reemplazar los caracteres especiales y eliminar las etiquetas?


Supongo que ya es demasiado tarde para responder la pregunta de Robertoq, pero estoy seguro de que muchos otros chicos todavía están luchando con este tema, yo fui uno de ellos.

De todos modos, la manera más fácil que encontré es la siguiente: en strings.xml , agregue su código html dentro de CDATA , y luego en la actividad recupere la cadena y cárguela en WebView , aquí está el ejemplo:

en strings.xml:

<string name="st1"><![CDATA[<p>This is <a href="http://www.test.hu">a test link</a> and this is a sample text with special char: éva </p>]]> </string>

es posible que desee reemplazar é con & eacute; (nota: no hay espacio entre & eacute y el ; )

Ahora, en su actividad, cree WebView y cargue la cadena st1 en ella:

WebView mWebview = (WebView)findViewById(R.id.*WebViewControlID*); mWebview.loadDataWithBaseURL(null, getString(R.string.st1), "text/html", "utf-8", null);

Y horraaa, debería funcionar correctamente. Si consideras que esta publicación es útil, te agradeceré si puedes marcarla como respondida, por lo que ayudamos a otras personas a lidiar con este problema.