Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

348
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda