去除字符串中的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,'&nbsp;','')

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>新&nbsp;闻</a><b>网&nbsp;页</b><a οnclick=s(this) href=http://tieba.baidu.com>贴&nbsp;吧</a><a οnclick=s(this) href=http://zhidao.baidu.com>知&nbsp;道</a><a οnclick=s(this) href=http://mp3.baidu.com>MP3</a><a οnclick=s(this) href=http://image.baidu.com>图&nbsp;片</a><a οnclick=s(this) href=http://video.baidu.com>视&nbsp;频</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,'&nbsp;','')

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标记及标记中的内容相关推荐

  1. php去除html标签和空格换行符,PHP去除字符串空格与换行html标记

    PHP去除字符串空格与换行html标记 方法一 function clearHtml($str) { $str = trim($str); //清除字符串两边的空格 $str = preg_repla ...

  2. Asp.Net中几种相似数据绑定标记符号的解释及用法

    Asp.Net中几种相似数据绑定标记符号的解释及用法1.<%#... %> 是在绑定控件DataBind()方法执行时被执行,用于数据绑定 如: <%# Container.Data ...

  3. Asp.Net中几种相似的标记符号:解释及用法 还有许多细节

    1.Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 答: < %#... %&g ...

  4. html网页文件的主体标记,HTML的填空题:1.HTML文件中网页文件的主体标记是_________,标记页面标题的标记是_____________。如题 谢...

    HTML文件中网页文件的主体标记是 ,标记页面标题的标记是. body元素是定义文档的主体,包含文档的所有内容.body是用在网页中的一种HTML标签,表示网页的主体部分,也就是用户可以看到的内容,可 ...

  5. R语言str_trim函数去除字符串中头部和尾部的空格

    R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿

  6. java字符串复制空值_Java脚本:去除字符串中空值

    /** * @title 去除以','作为分隔符的字符串中的空值 *         从数据库中获取的个别字段,当其值为',"***","***"," ...

  7. SAP MM 条件类型中PB00的‘Group Cond.‘标记的作用?

    SAP MM 条件类型中PB00的'Group Cond.'标记的作用? 如果没勾选这个标记,PO中的每个ITEM都根据其数量去取Scale里的价格, 而非PO汇总后的数量去取SCALE里的价格. 测 ...

  8. 去除字符串中所有的逗号

    arrBusiType.replace(/,/g, "");//去除字符串中所有的逗号 s_raise_end_date.replace(/-/g, "")// ...

  9. 去除字符串中的指定字符

    去除字符串中的 - 符号: 其实也就是将原本想要去除的字符替换为空而已. String str = "sdfsd-sdfsdf-sdfvsds-fsdfzxv"; String s ...

最新文章

  1. linux shell 读取文件 笔记
  2. webpack自动打包功能配置
  3. heartbeat+drbd+mysql构建mysql高可用群集
  4. docker错误:Error response from daemon: Cannot start container
  5. mixin机制 vue_读?VuePress(四)插件机制
  6. 日常shell使用小结
  7. java调试生命周期,一种基于JAVA的智能合约生命周期的管理方法与流程
  8. idea git 发起一个pull request 请求
  9. Apache mod_rewrite
  10. Repeater双重绑定(子菜单前台代码:)
  11. php 图片相似度对比算法,PHP实现的简易版图片相似度比较
  12. UE4官方文档阅读笔记——蓝图可视化编程
  13. App性能测试以及测试方法技巧
  14. 《非暴力沟通》- 使人情意相通的沟通方式
  15. 散文:dflow 是如何实现slice的
  16. 【CyberSecurityLearning 12】数据链路层 及 交换机工作原理与配置
  17. 腐烂的橘子(广度优先搜索)(考虑同时搜索)
  18. 空指针异常是什么意思
  19. 大数据开发课程:大数据开发培训课程
  20. HTML中动态图片切换JQuery实现

热门文章

  1. Oracle sqlplus 各种登录方式
  2. Java Web的Struts2的多语种网站的多语言切换实例
  3. 如何:重写 ToString 方法(C# 编程指南)
  4. 802.11成帧封装实现(四)
  5. linux系统切换用户
  6. 文本 To 音频
  7. Synbak 2.1 发布,系统备份工具
  8. 统一建模语言UML轻松入门系列
  9. Siebel Admin: Siebel task manager commands
  10. opencv连通域去除小块面积_晋中市建成区面积排名,榆次区最大,榆社县最小,来了解一下?...