去除字符串中的html标记及标记中的内容
去除字符串中的html标记及标记中的内容
--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=http://www.baidu.com/img/baidu_logo.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 οnclick=s(this) href=http://news.baidu.com>新 闻</a><b>网 页</b><a οnclick=s(this) href=http://tieba.baidu.com>贴 吧</a><a οnclick=s(this) href=http://zhidao.baidu.com>知 道</a><a οnclick=s(this) href=http://mp3.baidu.com>MP3</a><a οnclick=s(this) href=http://image.baidu.com>图 片</a><a οnclick=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>aaaa</p><<本草纲目>><a href="www.baidu.com" />')
--运行结果:
/*
aaaa<<本草纲目>>
*/
去除字符串中的html标记及标记中的内容相关推荐
- php去除html标签和空格换行符,PHP去除字符串空格与换行html标记
PHP去除字符串空格与换行html标记 方法一 function clearHtml($str) { $str = trim($str); //清除字符串两边的空格 $str = preg_repla ...
- Asp.Net中几种相似数据绑定标记符号的解释及用法
Asp.Net中几种相似数据绑定标记符号的解释及用法1.<%#... %> 是在绑定控件DataBind()方法执行时被执行,用于数据绑定 如: <%# Container.Data ...
- Asp.Net中几种相似的标记符号:解释及用法 还有许多细节
1.Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 答: < %#... %&g ...
- html网页文件的主体标记,HTML的填空题:1.HTML文件中网页文件的主体标记是_________,标记页面标题的标记是_____________。如题 谢...
HTML文件中网页文件的主体标记是 ,标记页面标题的标记是. body元素是定义文档的主体,包含文档的所有内容.body是用在网页中的一种HTML标签,表示网页的主体部分,也就是用户可以看到的内容,可 ...
- R语言str_trim函数去除字符串中头部和尾部的空格
R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿
- java字符串复制空值_Java脚本:去除字符串中空值
/** * @title 去除以','作为分隔符的字符串中的空值 * 从数据库中获取的个别字段,当其值为',"***","***"," ...
- SAP MM 条件类型中PB00的‘Group Cond.‘标记的作用?
SAP MM 条件类型中PB00的'Group Cond.'标记的作用? 如果没勾选这个标记,PO中的每个ITEM都根据其数量去取Scale里的价格, 而非PO汇总后的数量去取SCALE里的价格. 测 ...
- 去除字符串中所有的逗号
arrBusiType.replace(/,/g, "");//去除字符串中所有的逗号 s_raise_end_date.replace(/-/g, "")// ...
- 去除字符串中的指定字符
去除字符串中的 - 符号: 其实也就是将原本想要去除的字符替换为空而已. String str = "sdfsd-sdfsdf-sdfvsds-fsdfzxv"; String s ...
最新文章
- linux shell 读取文件 笔记
- webpack自动打包功能配置
- heartbeat+drbd+mysql构建mysql高可用群集
- docker错误:Error response from daemon: Cannot start container
- mixin机制 vue_读?VuePress(四)插件机制
- 日常shell使用小结
- java调试生命周期,一种基于JAVA的智能合约生命周期的管理方法与流程
- idea git 发起一个pull request 请求
- Apache mod_rewrite
- Repeater双重绑定(子菜单前台代码:)
- php 图片相似度对比算法,PHP实现的简易版图片相似度比较
- UE4官方文档阅读笔记——蓝图可视化编程
- App性能测试以及测试方法技巧
- 《非暴力沟通》- 使人情意相通的沟通方式
- 散文:dflow 是如何实现slice的
- 【CyberSecurityLearning 12】数据链路层 及 交换机工作原理与配置
- 腐烂的橘子(广度优先搜索)(考虑同时搜索)
- 空指针异常是什么意思
- 大数据开发课程:大数据开发培训课程
- HTML中动态图片切换JQuery实现
热门文章
- Oracle sqlplus 各种登录方式
- Java Web的Struts2的多语种网站的多语言切换实例
- 如何:重写 ToString 方法(C# 编程指南)
- 802.11成帧封装实现(四)
- linux系统切换用户
- 文本 To 音频
- Synbak 2.1 发布,系统备份工具
- 统一建模语言UML轻松入门系列
- Siebel Admin: Siebel task manager commands
- opencv连通域去除小块面积_晋中市建成区面积排名,榆次区最大,榆社县最小,来了解一下?...