mysql 去掉html_从sql server中的字符串中删除html标签的最佳方法?

本文介绍了在SQL Server中删除HTML标签的一种方法,通过使用REPLACE函数替换特定字符和预定义实体,以及去除标签的内容。提供了详细的代码示例,包括处理换行符、特殊字符以及清除<>之间的内容。
摘要由CSDN通过智能技术生成

- 尽可能使用REPLACE

- 预定义实体的转换é(我选择了我需要的那些:-)

- 列表标签的一些转换

  • and
  • ALTER FUNCTION [dbo].[udf_StripHTML]

    --by Patrick Honorez --- www.idevlop.com

    --inspired by http://stackoverflow.com/questions/457701/best-way-to-strip-html-tags-from-a-string-in-sql-server/39253602#39253602

    (

    @HTMLText varchar(MAX)

    )

    RETURNS varchar(MAX)

    AS

    BEGIN

    DECLARE @Start  int

    DECLARE @End    int

    DECLARE @Length int

    set @HTMLText = replace(@htmlText, '
    ',CHAR(13) + CHAR(10))

    set @HTMLText = replace(@htmlText, '
    ',CHAR(13) + CHAR(10))

    set @HTMLText = replace(@htmlText, '
    ',CHAR(13) + CHAR(10))

    set @HTMLText = replace(@htmlText, '

  • ','- ')

    set @HTMLText = replace(@htmlText, '

    ',CHAR(13) + CHAR(10))

set @HTMLText = replace(@htmlText, '’' collate Latin1_General_CS_AS, ''''  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '"' collate Latin1_General_CS_AS, '"'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '&' collate Latin1_General_CS_AS, '&'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '€' collate Latin1_General_CS_AS, '€'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '<' collate Latin1_General_CS_AS, '

set @HTMLText = replace(@htmlText, '>' collate Latin1_General_CS_AS, '>'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'œ' collate Latin1_General_CS_AS, 'oe'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, ' ' collate Latin1_General_CS_AS, ' '  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '©' collate Latin1_General_CS_AS, '©'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '«' collate Latin1_General_CS_AS, '«'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '®' collate Latin1_General_CS_AS, '®'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '±' collate Latin1_General_CS_AS, '±'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '²' collate Latin1_General_CS_AS, '²'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '³' collate Latin1_General_CS_AS, '³'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'µ' collate Latin1_General_CS_AS, 'µ'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '·' collate Latin1_General_CS_AS, '·'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'º' collate Latin1_General_CS_AS, 'º'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '»' collate Latin1_General_CS_AS, '»'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '¼' collate Latin1_General_CS_AS, '¼'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '½' collate Latin1_General_CS_AS, '½'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '¾' collate Latin1_General_CS_AS, '¾'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '&Aelig' collate Latin1_General_CS_AS, 'Æ'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'Ç' collate Latin1_General_CS_AS, 'Ç'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'È' collate Latin1_General_CS_AS, 'È'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'É' collate Latin1_General_CS_AS, 'É'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'Ê' collate Latin1_General_CS_AS, 'Ê'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'Ö' collate Latin1_General_CS_AS, 'Ö'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'à' collate Latin1_General_CS_AS, 'à'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'â' collate Latin1_General_CS_AS, 'â'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'ä' collate Latin1_General_CS_AS, 'ä'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'æ' collate Latin1_General_CS_AS, 'æ'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'ç' collate Latin1_General_CS_AS, 'ç'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'è' collate Latin1_General_CS_AS, 'è'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'é' collate Latin1_General_CS_AS, 'é'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'ê' collate Latin1_General_CS_AS, 'ê'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'ë' collate Latin1_General_CS_AS, 'ë'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'î' collate Latin1_General_CS_AS, 'î'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'ô' collate Latin1_General_CS_AS, 'ô'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'ö' collate Latin1_General_CS_AS, 'ö'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '÷' collate Latin1_General_CS_AS, '÷'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'ø' collate Latin1_General_CS_AS, 'ø'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'ù' collate Latin1_General_CS_AS, 'ù'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'ú' collate Latin1_General_CS_AS, 'ú'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'û' collate Latin1_General_CS_AS, 'û'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, 'ü' collate Latin1_General_CS_AS, 'ü'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '"' collate Latin1_General_CS_AS, '"'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '&' collate Latin1_General_CS_AS, '&'  collate Latin1_General_CS_AS)

set @HTMLText = replace(@htmlText, '‹' collate Latin1_General_CS_AS, '

set @HTMLText = replace(@htmlText, '›' collate Latin1_General_CS_AS, '>'  collate Latin1_General_CS_AS)

-- Remove anything between

SET @Start = CHARINDEX('', @HTMLText, CHARINDEX('

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, CHARINDEX('', @HTMLText)) + 7

SET @Length = (@End - @Start) + 1

END

-- Remove anything between tags

SET @Start = CHARINDEX('

SET @End = CHARINDEX('>', @HTMLText, CHARINDEX('

SET @Length = (@End - @Start) + 1

WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGIN

SET @HTMLText = STUFF(@HTMLText, @Start, @Length, '')

SET @Start = CHARINDEX('

SET @End = CHARINDEX('>', @HTMLText, CHARINDEX('

SET @Length = (@End - @Start) + 1

END

RETURN LTRIM(RTRIM(@HTMLText))

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值