有你在真好 的个人博客
Sql自定义函数去除html标签
阅读:2268 添加日期:2021/3/27 23:27:51 原文链接:https://www.toutiao.com/item/6342780384836583937/

我们通常用富文本框编辑内容存在数据库中,在做列表显示数据的时候不想显示原来的样式,用自定义函数格式化html标签即可。

Sql自定义函数去除html标签

自定义函数

alter function [dbo].[dropHtmlTag](@cont varchar(max))

returns varchar(max)

as

begin

--去掉style标签

declare @stylecount int;

set @stylecount = charindex('<style>',@cont);

while @stylecount>0

begin

select @cont=replace(@cont, SUBSTRING(@cont,CHARINDEX('<style>',@cont),CHARINDEX('</style>',@cont)-CHARINDEX('<style>',@cont)+8),'');

set @stylecount = charindex('<style>',@cont);

end

--去掉script标签

declare @scriptcount int;

set @scriptcount = charindex('<script',@cont);

while @scriptcount>0

begin

select @cont=replace(@cont, SUBSTRING(@cont,CHARINDEX('<script',@cont),CHARINDEX('</script>',@cont)-CHARINDEX('<script',@cont)+9),'');

set @scriptcount = charindex('<script',@cont);

--去掉内容标签

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

ICP备案号:苏ICP备14035786号-1 苏公网安备 32050502001014号