用于删除SQL server中的定位标记的SQL脚本

用于删除SQL server中的定位标记的SQL脚本,sql,sql-server,sql-server-2008,sql-server-2008-r2,sql-server-2012,Sql,Sql Server,Sql Server 2008,Sql Server 2008 R2,Sql Server 2012,我有一个小要求。我只需要删除文本中的锚定标记(但不需要删除剩余的HTML标记),但不应该删除文本 仅应移除锚定标签 我得到了下面的脚本,并对其进行了一些修改。它正在处理一个小问题,即未被删除。你能帮我做这个吗 如果你有更好的主意,请告诉我 乙二醇 试试这个 declare@HTMLText varchar(max)=” 声明@Start INT 声明@End INT 声明@Length INT 设置@Start=CHARINDEX(“”,@HTMLText,CHARINDEX('上述代码删除文

我有一个小要求。我只需要删除文本中的锚定标记(但不需要删除剩余的HTML标记),但不应该删除文本

仅应移除锚定标签

我得到了下面的脚本,并对其进行了一些修改。它正在处理一个小问题,即
未被删除。你能帮我做这个吗

如果你有更好的主意,请告诉我

乙二醇

试试这个

declare@HTMLText varchar(max)=”
声明@Start INT
声明@End INT
声明@Length INT

设置@Start=CHARINDEX(“”,@HTMLText,CHARINDEX('上述代码删除文本Hello用户输出中的所有html标记:Hello用户单击meyes,它将删除所有标记,让我更新我的答案,等等sec@user3330998See我现在的编辑2答案,希望能有所帮助。:@user3330998为什么不直接替换
返回LTRIM(RTRIM(替换(@HTMLText,,“”))
<a href="google.com">Click to</a>
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('<a',@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('<a',@HTMLText)
        SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText))
        SET @Length = (@End - @Start) + 1
    END

    RETURN LTRIM(RTRIM(@HTMLText))
END
GO
declare @HTMLText varchar(max)='<a href=''hello.com''>click me</a>'

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
select LTRIM(RTRIM(@HTMLText))
declare @HTMLText varchar(max)='<l href=''fvhjfshdfsd''>gsgdgfsdf</l><a href=''hello.com''>click me</a><b>aa</b>'

DECLARE @Start INT
DECLARE @End INT
DECLARE @Length INT


SET @Start = CHARINDEX('<a',@HTMLText)


SET @End =CHARINDEX('>',@HTMLText,CHARINDEX('<a',@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('<a',@HTMLText)
SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<a',@HTMLText))
SET @Length = (@End - @Start) + 1
End
select REPLACE(LTRIM(RTRIM(@HTMLText)),'</a>','')