Android recibe texto de html
Recibo 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 esto es & amp; nbsp; un ejemplo de texto con carácter especial: & amp; # 233; va & lt; / p & gt;
- Cómo cambiar pantallas en Scene2D libGDX
- Error de generación de Gradle con java 1.8, herramienta de compilación 2.2.0-alpha4, habilitar jackOptions
- Error de símbolo no resuelto en el archivo de actividad
- ¿Por qué necesitamos un cuarto constructor para Lollipop?
- ¿Cómo obtener las claves de ContentValues?
(No hay espacio antes; char, pero si no inserto espacio en el formato stackoverflow)
No es un código html normalmente, pero si pego en una página html vacía, el navegador lo muestra con etiquetas normales:
< P > Esto es <a href = "http://www.test.hu"> un enlace de prueba < / a > y este es un ejemplo de texto con carácter especial: éva < / p >
Este código se mostrará en un navegador:
Este es un enlace de prueba Y este es un ejemplo de texto con caracteres especiales: éva
Así que quiero obtener este texto, pero no puedo usar Html.fromHtml
, porque el componente que utilizo no es compatible con Spanned
. Quería probar StringEscapeUtils
, pero no podía importarlo.
¿Cómo puedo reemplazar caracteres especiales y quitar etiquetas?
- El soporte de NDK es una característica experimental y todos los casos de uso aún no son compatibles con el error en Android Studio?
- ¿Es el desarrollo de Android en C / C ++ más rápido que Java?
- OnBackPressed () Mejor práctica / rendimiento
- Escribir en permiso de archivo en android
- No se puede agregar un nuevo objeto a RealmList debido a la referencia de objeto null
- Android internos y limitaciones de memoria / procesador?
- SHA1 en Java y PHP con resultados diferentes
- Double buffering en Java en Android con lienzo y vista de superficie
Escribir un analizador, no es diferente de lo que sería en cualquier otra situación en la que tiene que analizar los datos.
Ahora, si usted puede conseguirlo como HTML ordinario unescaped, hay una variedad de analizadores del HTML de Java del código abierto hacia fuera allí que usted puede utilizar. Si va a trabajar con el HTML escapado como lo ha hecho en su primer ejemplo, tendrá que escribir el analizador usted mismo.
Supongo que soy demasiado tarde para responder a la pregunta de Robertoq, pero estoy seguro de que muchos otros chicos siguen luchando con este tema, yo era uno de ellos.
De todos modos, la forma 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 recuperar la cadena y cargarla 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>
Puede 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, debe funcionar correctamente. Si encuentras esta publicación útil, seré genial si puedes marcarlo como contestado, así que ayudamos a otros que luchan con este problema