Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Cómo eliminar el html sin afectar el texto con sql

Estas en el tema de Cómo eliminar el html sin afectar el texto con sql en el foro de Bases de Datos General en Foros del Web. En varios campos de la base de datos tiene muchos enlaces que quiero eliminar los <a></A> están en diferentes direcciones, por ejemplo: Cita: <a href="https://www.sitio.com"> ...
  #1 (permalink)  
Antiguo 02/03/2019, 04:39
 
Fecha de Ingreso: julio-2013
Mensajes: 301
Antigüedad: 5 años, 10 meses
Puntos: 2
Cómo eliminar el html sin afectar el texto con sql

En varios campos de la base de datos tiene muchos enlaces que quiero eliminar los <a></A> están en diferentes direcciones, por ejemplo:

Cita:
<a href="https://www.sitio.com"> link content1 </a> <a href="https://www.sitio.com/2"> link content2 </a>
<a href="https://www.sitio.com/3"> link content2 </a>, ect ....
Cambiarlo a:

Cita:
link content1
link content2
link content3
Intente UPDATE REPLACE pero no funcionó ya que todos son diferentes, lo único que es lo mismo es que es el mismo sitio web

¿Cómo podría el <a></a> eliminar sin afectar el texto?

Gracias
  #2 (permalink)  
Antiguo 04/03/2019, 08:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.375
Antigüedad: 12 años, 9 meses
Puntos: 767
Respuesta: Cómo eliminar el html sin afectar el texto con sql

Primero deberias de tratar de remover la cadena que empieza con < y termina con >, esto lo puedes hacer con un substring con charindex, con eso tendrias algo como esto:

link content1 </a>

ahora hay que hacer otro substring con charindex quitando lo que no queremos de la cadena

algo como esto:

Código SQL:
Ver original
  1. DECLARE @var Nvarchar(800)
  2. DECLARE @var2 Nvarchar(800)
  3.  
  4.  
  5. SET @var='<a href="https://www.sitio.com"> link content1 </a>'
  6.  
  7.  
  8. SET @var2=REPLACE(@var,SUBSTRING(@var,charindex('<',@var),(charindex('>',@var)-charindex('<',@var))+1),'')
  9.  
  10. SELECT REPLACE(@var2,SUBSTRING(@var2,charindex('<',@var2),(charindex('>',@var2)-charindex('<',@var2))+1),'')

Resultado:
link content1
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me



La zona horaria es GMT -6. Ahora son las 06:31.