Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

351
Vistas
Obtenga texto de etiquetas <a> en texto usando javascript

Obtengo contenido html de la API.

El mensaje de muestra podría verse a continuación

 Lorem ipsum dolor sit amet <a href="https://example.com">example.com</a> Pellentesque porta ligula et justo condimentum, nec tincidunt libero tempor. Pellentesque nunc justo, tincidunt sit amet suscipit sit amet, auctor <a href="https://google.com">google.com</a>

Necesito que mi mensaje se vea en la línea de abajo, texto sin formato con

 Lorem ipsum dolor sit amet example.com Pellentesque porta ligula et justo condimentum, nec tincidunt libero tempor. Pellentesque nunc justo, tincidunt sit amet suscipit sit amet, auctor google.com

Intenté usar expresiones regulares con grupos, código js a continuación

 const r = /^<a href.*>(.*?)<\/a>$/gm let link = `<a href="https://google.com" target="_blank">google.com</a> test <a href="test.com">test.com</a>` let result while((result = r.exec(link)) !== null) { const match = result[1]; link = link.replace(r, match) } console.log(link)

También probé un código simple como el siguiente

 const r = /^<a href.*>(.*?)<\/a>$/gm let link = `<a href="https://google.com" target="_blank">google.com</a> test <a href="test.com">test.com</a>` link = link.replaceAll(r, "$1") console.log(link)

Desafortunadamente, en ambos casos después de ejecutar mi código console.log imprime "test.com", no el mensaje completo.

¿Hay mejores soluciones?

about 4 years ago · Santiago Gelvez
3 Respuestas
Responde la pregunta

0

No es necesario hacerlo con una expresión regular. Puede usar DOM para eliminar los enlaces y cualquier otra etiqueta HTML.

 const htmlString = `Lorem ipsum dolor sit amet <a href="https://example.com">example.com</a> Pellentesque porta ligula et justo condimentum, nec tincidunt libero tempor. Pellentesque nunc justo, tincidunt sit amet suscipit sit amet, auctor <a href="https://google.com">google.com</a>` const parser = new DOMParser(); const doc = parser.parseFromString(htmlString, "text/html"); const text = doc.body.textContent; console.log(text);

Si solo desea eliminar enlaces y dejar otras etiquetas HTML, también es posible.

 const htmlString = `Lorem ipsum dolor sit amet <a href="https://example.com">example.com</a> Pellentesque <b>porta</b> ligula <em>et justo</em> condimentum, nec tincidunt libero tempor. Pellentesque nunc justo, tincidunt sit amet suscipit sit amet, auctor <a href="https://google.com">google.com</a>` const parser = new DOMParser(); const doc = parser.parseFromString(htmlString, "text/html"); const anchors = doc.body.querySelectorAll("a"); anchors.forEach(node => node.replaceWith(...node.childNodes)); const htmlWithAnchorsRemoved = doc.body.innerHTML; console.log(htmlWithAnchorsRemoved);

about 4 years ago · Santiago Gelvez Denunciar

0

El patrón para eliminar todas las etiquetas de anclaje de un texto sería algo como esto:

 <a.*?</a>

con la etiqueta global.

Buscará específicamente todas las etiquetas de anclaje en su cadena y las comparará globalmente (es decir, en todo el texto que está utilizando). Puede usar esta expresión regular con la función replaceAll de esta manera:

 let value = string.replaceAll("<a[^>]*>(.*?)</a>", "");

Puedes probar la expresión regular aquí

He probado la cadena dada y el resultado es el siguiente:

Regex-para-eliminar-etiquetas-de-anclaje-de-una-cadena-dada

Espero que esto ayude. Déjeme saber si usted tiene cualquier pregunta.

Saludos

about 4 years ago · Santiago Gelvez Denunciar

0

Usar expresiones regulares para analizar html nunca es un buen camino a seguir. ¿Quizás lo siguiente te ayude?

 const html=`Lorem ipsum dolor sit amet <a href="https://example.com">example.com</a> Pellentesque porta ligula et justo condimentum, nec tincidunt libero tempor. Pellentesque nunc justo, tincidunt sit amet suscipit sit amet, auctor <a href="https://google.com">google.com</a>`; function html2text(html){ const o=document.createElement("div"); o.innerHTML=html; return o.textContent; } console.log(html2text(html));

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda