用正则表达式剔除文本中的HTML标记

因为我的前段时间发的XMLHTTP批量抓取远程资料的文章
http://blog.111cn.net/babyt/archive/2004/09/08/98516.aspx
最近有人来问我如何将文章用文本格式保存,而不是直接使用HTML存储,这样的话会节约数据库空间.于是写了这么个函数来将文本中的HTML标记剔除
函数虽然简单,但是对处理HTML文档还是很有效的
<%
Function RemoveHTML(strHTML)
Dim objRegExp, Match, Matches
Set objRegExp = New Regexp

objRegExp.IgnoreCase = True
objRegExp.Global = True
'取闭合的<>
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches = objRegExp.Execute(strHTML)

' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
RemoveHTML=strHTML
Set objRegExp = Nothing
End Function
%>

时间: 2024-10-12 03:28:33

用正则表达式剔除文本中的HTML标记的相关文章

如何使用正则表达式剔除文本中的HTML标记

html标记|正则 因为我的前段时间发的XMLHTTP批量抓取远程资料的文章http://blog.csdn.net/babyt/archive/2004/09/08/98516.aspx最近有人来问我如何将文章用文本格式保存,而不是直接使用HTML存储,这样的话会节约数据库空间.于是写了这么个函数来将文本中的HTML标记剔除 函数虽然简单,但是对处理HTML文档还是很有效的<%Function RemoveHTML(strHTML) Dim objRegExp, Match, Matches

正则表达式——去除文本中的非汉字(VB2005)

本人由于工作关系,需要一段代码,将给定的字符串中的非汉字去除,只保留汉字部分. 这个一般用正则表达式比较简单,网上有一些匹配汉字的正则表达式,拿来经过改造就能实现我前面的要求. 注释一下,正则表达式[\u4e00-\u9fa5]表示匹配中文,则正则表达式[^\u4e00-\u9fa5]匹配非中文.用Replace方法将匹配的非中文替换为空字符串,也就是去除了文本中的非中文字符. 代码格式修正于2012年1月5日  Imports System.Text.RegularExpressionsPub

判断文本中不存在指定字符串(忽略大小写)的正则表达式的问题

问题描述 判断文本中不存在指定字符串(忽略大小写)的正则表达式的问题 最近遇到个正则表达式的问题,判断不存在指定字符串的正则表达式是这样:((?!MySQL).)*,但忽略大小写判断(?!)加上去后,死活不成功,((?!(?!)MySQL).)*,这个是加上忽略大小后的写法,谁能帮我看看到底是怎么回事 解决方案 ?i 这个应该是忽略大小写的 解决方案二: 谢谢,才发现我写错了,?i写成?!

《正则表达式经典实例(第2版)》——2.20 在替代文本中添加正则匹配

2.20 在替代文本中添加正则匹配 问题描述 执行查找和替换,把所有URL都转换成指向该URL的HTML链接,并使用该URL作为链接的文本.在这个练习中,把URL定义为"http:"以及其后所有的非空字符.例如,Please visit应该被转换为Please visit. 解决方案 正则表达式 http:\S+ 正则选项:无 正则流派:.NET.Java.JavaScript.PCRE.Perl.Python.Ruby 替代文本 <a●href="$&&quo

《正则表达式经典实例(第2版)》——2.19 在替代文本中添加字面文本

2.19 在替代文本中添加字面文本 问题描述查找并把任何正则表达式匹配从字面上替换为这8个字符:$%*$11. 解决方案 $%\*$$1\1 替代文本流派:.NET.JavaScript \$%\\*\$1\\1 替代文本流派:Java $%\*\$1\\1 替代文本流派:PHP \$%\*\$1\\1 替代文本流派:Perl $%\*$1\\1 替代文本流派:Python.Ruby 讨论在替代文本中转义字符的时机和方式这个实例显示了各种替代文本流派中使用的不同转义规则.在替代文本中,你可能会需

《正则表达式经典实例(第2版)》——2.21 把部分的正则匹配添加到替代文本中

2.21 把部分的正则匹配添加到替代文本中 问题描述匹配任意10个数字的连续序列,如1234567890.并把这个序列转换成(美国)电话号码的常见格式,如(123) 456-7890, 解决方案正则表达式 \b(\d{3})(\d{3})(\d{4})\b 正则选项:无 正则流派:.NET.Java.JavaScript.PCRE.Perl.Python.Ruby 替代文本 ($1)●$2-$3 替代文本流派:.NET.Java.JavaScript.PHP.Perl (${1})●${2}-$

《正则表达式经典实例(第2版)》——2.22 把匹配上下文插入到替代文本中

2.22 把匹配上下文插入到替代文本中 问题描述创建一个替代文本,用来把正则表达式匹配的文本替换为匹配之前的文本紧跟完整目标文本再紧跟匹配之后的文本.例如,如果在BeforeMatchAfter中找到的是Match,那么把这个匹配换成BeforeBeforeMatchAfterAfter,最终得到的新文本是BeforeBefore BeforeMatchAfterAfterAfter. 解决方案 $`$_$' 替代文本流派:.NET.Perl \`\`\&\'\' 替代文本流派:Ruby $`$

ASP小偷程序需要用到的函数:用于可控制删除文本中的html标签

程序|函数|控制|小偷程序 函数用于去除文本中的html标签,可以控制删除哪些标签. 要控制被删除的标签列表,可以通过向TAGLIST常数中添加/删除标记来实现. 例如,要保留所有的<B>标签,则从TAGLIST中删除B. 当前的列表包含了MSDN中的所有html标签以及 LAYER 标签. 每个标签要用";"括起来. 开始标签和结束标签都会被删除,例如"<A...>"和</A...> 若标签同时在 TAGLIST 和 BLOCK

html-怎样用正则表达式提取HTM中的部分数据

问题描述 怎样用正则表达式提取HTM中的部分数据 怎样用正则表达式从一个Html 中提取一些想要的数据,正则表达式该写在哪里呢 解决方案 /<(.*)>.*</1>/ "<(.*)>.*</1>" 匹配一个 HTML 标记. 解决方案二: 你是用什么语言,想提取什么标签内的内容 解决方案三: 问这种问题应该给出示例的html代码片断,以及你希望提取的数据,还有你用的编程语言,才好帮助到你. 你什么都不说,只能给你一个泛泛的解答了:在goo