sql去除html标签
来源:互联网 发布:天津赛象软件 编辑:程序博客网 时间:2024/05/22 14:30
--1、创建函数
create function [dbo].[clearhtml] (@maco varchar(8000)) returns varchar(8000) as begin declare @i int while 1 = 1 begin set @i=len(@maco) set @maco=replace(@maco, substring(@maco,charindex('<',@maco), charindex('>',@maco)-charindex('<',@maco)+1),space(0)) if @i=len( @maco ) break end set @maco=replace(@maco,' ','') set @maco=replace(@maco,' ','') set @maco=ltrim(rtrim(@maco)) set @maco=replace(@maco,char(9),'') set @maco=replace(@maco,char(10),'') set @maco=replace(@maco,char(13),'') return (@maco) end
--2、测试示例
declare @mark varchar(8000) set @mark='<body><div id=u><a href=http://passport.baidu.com/?login&tpl=mn>登录</a></div><center><img src=/upload/2011/3/2210597443.gif width=270 height=129 usemap="#mp" id=lg><br><br><br><br><table cellpadding=0 cellspacing=0 id=l><tr><td><div id=m><a onclick=s(this) href=http://news.baidu.com>新 闻</a><b>网 页</b><a onclick=s(this) href=http://tieba.baidu.com>贴 吧</a><a onclick=s(this) href=http://zhidao.baidu.com>知 道</a><a onclick=s(this) href=http://mp3.baidu.com>MP3</a><a onclick=s(this) href=http://image.baidu.com>图 片</a><a onclick=s(this) href=http://video.baidu.com>视 频</a></div></td></tr></table> <table cellpadding=0 cellspacing=0 style="margin-left:15px"><tr valign=top><td style="height:62px;padding-left:92px" nowrap><div style="position:relative"><form name=f action=/s><input type=text name=wd id=kw size=42 maxlength=100> <input type=submit value=百度一下id=sb><div id=sug onselectstart="return false"></div><span id=hp><a href=/search/jiqiao.html>帮助</a><br><a href=/gaoji/advanced.html>高级</a></span></form></div></td></tr></table> </body>' select dbo.clearhtml (@mark)
--3、运行结果
/*
new
---------------------------------------
登录新闻网页贴吧知道MP3图片视频帮助高级
*/
/*
但是上面的函数还存在问题,如果内容中有“《》”或是“<<>>”这样的标记,则不能达到我们的要求。
*/
--加强版
create function [dbo].[clearhtml_V2] (@maco varchar(8000)) returns varchar(8000) as begin declare @randchar_one nvarchar(200) declare @randchar_two nvarchar(200) if(charindex('<<',@maco)>0) begin set @randchar_one='D4678B36-B958-4274-B81E-BBA636CFB427'; set @randchar_two='49E374CC-9E1A-4850-897C-27074DE32E7F'; set @maco=replace(@maco,'<<',@randchar_one) set @maco=replace(@maco,'>>',@randchar_two) end declare @i int while 1 = 1 begin set @i=len(@maco) set @maco=replace(@maco, substring(@maco,charindex('<',@maco), charindex('>',@maco)-charindex('<',@maco)+1),space(0)) if @i=len( @maco ) break end set @maco=replace(@maco,' ','') set @maco=replace(@maco,' ','') set @maco=ltrim(rtrim(@maco)) set @maco=replace(@maco,char(9),'') set @maco=replace(@maco,char(10),'') set @maco=replace(@maco,char(13),'') if(charindex(@randchar_one,@maco)>0) begin set @maco=replace(@maco,'D4678B36-B958-4274-B81E-BBA636CFB427','<<') set @maco=replace(@maco,'49E374CC-9E1A-4850-897C-27074DE32E7F','>>') end return (@maco) end select dbo.clearhtml_V2('<p>test</p><<西游记>><a href="www.baidu.com" />')
--运行结果:
/*
test<<西游记>>
0 0
- sql去除html标签
- sql 去除html标签函数
- SQL去除字符串中HTML标签
- js 去除 HTML 标签
- 去除html标签
- 去除html标签
- 去除Html标签
- 去除HTML标签
- 去除Html标签
- 去除HTML标签
- 去除HTML标签
- JS去除html标签
- js去除html标签
- 去除一些html标签
- PHP 去除HTML标签
- JS去除html标签
- title html标签去除
- python去除html标签
- Scala练习(十八)
- 以色列Aladdin HASP SRM(AES-128)加密狗破解经验分享
- awk基础与正则表达式运用
- 平衡二叉树的调整
- 微信,已经严重地搅和了我们的生活!
- sql去除html标签
- IOS AFNetWorking 下载文件 断点续传
- 天融信AlphaFuzzer测试工具 使用教程
- java对象与xml格式字符串的转换
- Replacement
- JavaSE----API之常用类(数组的高级操作、正则表达式)
- 每周4天班,年赚数百万美金:一家小公司的极简经商之道
- 上位机操作三菱PLC指令规范 转载
- POJ 1488 TEX Quotes(字符串)