¿Existe alguna manera sencilla de coger con JavaScript una cadena de texto con contenido HTML y eliminar todas sus etiquetas para quedarse solamente con el texto?
Estás leyendo una traducción autorizada de la pregunta Strip HTML from Text JavaScript planteada por Bryan en StackOverflow.
Respuestas
Si puedes utilizar la librería jQuery, lo más sencillo sería hacer lo siguiente:
var contenido = '<p>Lorem ipsum...</p>'; var texto = $(contenido).text();
Si tienes que utilizar código JavaScript puro, puedes hacer uso del método replace()
de JavaScript:
var contenido = '<p>Lorem ipsum...</p>'; var texto = contenido.replace(/<[^>]*>?/g, '');;
Por último, un truco habitual que suele funcionar bien consiste en aprovechar el propio navegador para que haga el trabajo de eliminar las etiquetas:
var contenido = '<p>Lorem ipsum...</p>'; var temporal = document.createElement("div"); temporal.innerHTML = contenido; var texto = temporal.textContent || temporal.innerText || "";
@librosweb
9 octubre 2014, 22:15