用正则过滤html标签,asp用正则过滤html标签

有时候我们需要程序截图文章中的部分字符作为摘要显示出来,这时我们一般是只希望提取的字符串是纯文本的,没有如何html标签,如果我们章节用left函数截取的化,得到的内容就包含了html代码,为了解决这个问题,我们可以有两个方法。

一是,在数据库中特别设置一个字段用于保存摘要。优点是你可以自己总结文章摘要,这样可读性更强,不至于让人看不懂。对seo也是有好处的,缺点就是麻烦了一点,要多花心思和时间。

二是,用程序提前文章中的特定内容作为摘要,一般是前面多少个字符。此时我们就可以使用正则表达式来轻松的实现这个提取前N个纯字符的功能。

我们知道html标签有一个特定都是用<>包含的,所以正则表达式只要匹配<>就可以了:

下面的两个函数都可以实现过滤html标签的作用:

Function RemoveHTML(str)

Dim re

Set re=New RegExp

re.Pattern="<.>"

re.IgnoreCase=True

re.Global=True

str=re.Replace(str,"")

Set re=Nothing

RemoveHTML=str

End Function

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

对于效率来讲应该第一个更好。

代码如下:

Dim contenstr

contenstr="中国asp之家欢迎您!欢迎出来看看,呵呵! "

'当然这里的contenstr在实际使用时换成你的文章内容

'调用过滤函数移除html标签

contenstr=RemoveHTML(contenstr)

contenstr=left(contenstr,100) '截取前100个字符

response.write("移除html标签后:" & contenstr)

%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值