sqlserver 过滤html,sql过滤html函数(SQL查询结果过滤HTML字符)方法

做开发时,有时查询出数据库结果,但带HTML,而客户不需要这些无意义的字符,有没有解决方法?

在逐浪CMS中,我们默认集成了一个SQL函数方法,方法名:[ZL_StripeTrimstr]

其查询方法是:select top 20 dbo.ZL_StripeTrimstr(content)  简介  from ZL_C_Article

通过这个方法,存在数据库中的HTML经[ZL_StripeTrimstr]函数查出来后,得出结果为纯HTML文本,这样可以用于简介等展示模块中使用。

结果如下图所示:

47b7c0c5c747103aadc72d97912e0995.png

以下为完整的思路逻辑。

首先我们创建一个函数:Create Function [dbo].[f_trimstr](@str nvarchar(4000))

returns nvarchar(4000)

AS

begin

declare @d int;

declare @dd int;

declare @sumstr nvarchar(4000);

while (Charindex('',@str)!=0)

begin

set @d = Charindex('

set @dd = Charindex('>',@str);

set @sumstr = Substring(@str,1,@d-1);

set @str = Substring(@str,@dd+1,len(@str));

set @str = @sumstr+@str;

end

set @str=Replace(@str,' ','')

return @str;

end

然后在查询中引用它,其基本格式是:select top 20 dbo.f_trimstr(content) 企业简介   from ST_lxs

如在逐浪CMS中则为:select top 20 dbo.f_trimstr(content) 简介  from ZL_C_Article

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值