Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie entferne ich HTML-Tags aus einer Zeichenfolge in SQL Server?

Es gibt eine UDF, die das hier Beschriebene tut:

Benutzerdefinierte Funktion zum Strippen von HTML

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
GO

Bearbeiten:Beachten Sie, dass dies für SQL Server 2005 gilt, aber wenn Sie das Schlüsselwort MAX in etwas wie 4000 ändern, funktioniert es auch in SQL Server 2000.