通常用富文本框编辑内容存在数据库中,在做列表显示数据的时候不想显示原来的html标签,可以调用下面的自定义函数实现文本去html
sql自定义函数
alter function [dbo].[dropHtmlTag](@cont varchar(max))
returns varchar(max)
as
begin
--去掉style标签
declare @stylecount int;
set @stylecount = charindex('
while @stylecount>0
begin
select @cont=replace(@cont, SUBSTRING(@cont,CHARINDEX('',@cont)-CHARINDEX('
set @stylecount = charindex('
end
--去掉script标签
declare @scriptcount int;
set @scriptcount = charindex('
begin
select @cont=replace(@cont, SUBSTRING(@cont,CHARINDEX('
set @scriptcount = charindex('
declare @tem varchar(max),@i int,@j int;
set @tem = ISNULL(@cont,'');
set @i = charindex('<',@tem,0);
set @j = charindex('>',@tem,1);
while @i < @j
begin
select @tem = replace(@tem,SUBSTRING(@tem,@i,@j-@i+1),'')
set @i = charindex('<',@tem,0);
set @j = charindex('>',@tem,1);
end
return @tem
end