ASP过滤外链,保留站内链接(有过滤所有链接代码)
本帖最后由 XingYuan171679045 于 2012-12-26 14:07:56 编辑
'函数
Function RegRemoveHref(HTMLstr)
Set ra = New RegExp
ra.IgnoreCase = True
ra.Global = True
ra.Pattern = "<a[^>]+>(.+?)<\/a>"
RegRemoveHref = ra.replace(HTMLstr,"$1")
END Function
'调用
RegRemoveHref(rs("带链接的内容")
这样过滤了所有链接,如果要保留站内链接或指定域名的链接,要怎么修改?
------解决方案--------------------Function RegRemoveHref(HTMLstr)
dim ra
set ra = New RegExp
ra.IgnoreCase = True
ra.Global = True
ra.Pattern = " href=[""'](https?.*?)[""' ]"
RegRemoveHref = ra.replace(HTMLstr,"")
END Function
------解决方案--------------------如果想完美一点,就用2个正则,一个是提取连接出来然后与你本站的地址做比较
如果含有本站网址的,就不过滤,否则就进行过滤
------解决方案--------------------ra.Pattern = "[\s]href=([""'])(https?(?:(?!(?:aaa.com
------解决方案--------------------bbb.com
------解决方案--------------------ccc.com))[^\1])*?)\1"
把aaa.com
------解决方案--------------------bbb.com
------解决方案--------------------ccc.com换成你不想过滤的站点串就行了