¿Cómo eliminar las etiquetas html de una cadena en SQL?

En este artículo pondré un pequeño ejemplo de cómo quitar las etiquetas HTML en SQL.  Voy a mostrar una función definida por el usuario en SQL Server que analiza el código HTML y regresa texto plano.  Si requieres eliminar las etiquetas HTML de una página este ejemplo te servirá.  En seguida te muestro la función y como ejecutarla.


 

Función:

		SET ANSI_NULLS ON
		GO
		SET QUOTED_IDENTIFIER ON
		GO
		CREATE FUNCTION [dbo].[udf_StripHTML]
		(@HTMLText VARCHAR(MAX))
		RETURNS VARCHAR(MAX)
		AS
		BEGIN
		DECLARE @Start INT
		DECLARE @End INT
		DECLARE @Length INT
		SET @Start = CHARINDEX('<',@HTMLText)
		SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText))
		SET @Length = (@End - @Start) + 1
		WHILE @Start > 0
		AND @End > 0
		AND @Length > 0
		BEGIN
		SET @HTMLText = STUFF(@HTMLText,@Start,@Length,'')
		SET @Start = CHARINDEX('<',@HTMLText)
		SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText))
		SET @Length = (@End - @Start) + 1
		END
		RETURN LTRIM(RTRIM(@HTMLText))
		END

Se ejecuta de la siguiente manera:

                SELECT   dbo.udf_StripHTML(CADENA DE TEXTO CON HTML) as body_textSinHTMl

Resultado:

seo, posicionamiento web, sql

Si tienes algún problema para la implementación, escríbeme y en seguida te contestare. Saludos y gracias por seguirnos.

Artículos relacionados
Aprende a utilizar subconsultas o subquery en SQL
Aprende a utilizar subconsultas o subquery en SQL

&nbsp; Una subconsulta es una declaraci&oac

¿Qué es PRIMARY KEY en SQL Server y cómo funciona?
¿Qué es PRIMARY KEY en SQL Server y cómo funciona?

En este tutorial de SQL Server, aprender&aacut

2 Comentarios
  • Maria Fivebelly Comentar
    jueves, 27 de agosto de 2015

    Como seria el tema con las tildes (´) ??

    • Estrada WebGroupComentar
      miércoles, 2 de septiembre de 2015

      Hola María Que es lo que quieres hacer con las tildes? Saludos

  • Orlando Velasco Comentar
    martes, 8 de septiembre de 2015

    Es posible crear esta funcion en MySQL?, lo he intentado pero no reconoce el ANSI_NULLS. Gracias

Enviame un comentario