Escribí una aplicación que muestra las últimas publicaciones a través de la API, y estoy usando una expresión regular para eliminar las etiquetas HTML del resultado (que en realidad es texto sin formato).
post.contentHtml retrieve the last post ejemplo recuperado: "hi this is my last post <b>with</b> some html tags"
entonces mi línea es:
post.contentHtml().replace(/<\/?[^>]+(>|$)/g, '') ejemplo recuperado: "hi this is my last post with some html tags"
Ahora, a veces, los usuarios publican texto con URL de imágenes, y quiero reemplazar todas las URL de imágenes con íconos de FontAwesome.
¿Es esto posible con JavaScript?
Encontré una solución por mí mismo:
ya que no sé cómo reemplazar con html renderizado (en realidad, si pongo html, regresa literalmente, puedo hacer esto con un ícono de texto:
post.contentHtml().replace(/<\/?[^>]+(>|$)/g, '').replace(/(https?:\/\/\S+(\.png|\.jpg|\.gif))/g, '📷')La solución más simple es usar match with regex. La muestra se da a continuación.
Regex: /<[^>]*>/g
Nota: Puede hacer una expresión regular más compleja.
const str = 'hi this is <img src="test" /> my <span>with1</span> last post <b>with2</b> some html tags'; console.log(str.replace(/<[^>]*>/g, ""))