从源代码中提取或过滤网页标签

本文介绍了如何使用正则表达式和字符串操作在源代码中过滤和提取网页标签,特别是针对图片、脚本、嵌入多媒体和对象标签的处理。通过替换、删除或修改特定标签,实现了对HTML内容的定制化处理。

1.删除非图片标签

先把img标签转换成特定字符,再其他的html中 <和> 过滤掉,再把刚才的特定字符转换回来

html   =   html.replace(// <img/g, "♂ ");                   ///替换 " <img "
html   =   html.replace(/(♂[^> ]*)> /g, "$1♀ ");     ///替换 "> "
alert(html);
html   =   html.replace(// <[^> ]*> /g, " ");                 ///过滤其它所有 " <...> "标签
alert(html);
html   =   html.replace(/♂/g, " <img ");                     ///还原 " <img "
html   =   html.replace(/♀/g, "> ");                           ///还原 "> "

 

2.正则表达式过滤图片标签 自己所写

Function RemoveImg(ByVal str As String) As String
    Dim re
    Set re = New RegExp
    re.IgnoreCase = True
    re.Global = True
    re.Pattern = "<img[^>]*>"
    RemoveImg = re.Replace(str, " ")
End Function

 

Function RemoveScript(ByVal str As String) As String '过滤脚本
    Dim re
    Set re = New RegExp
    re.IgnoreCase = True
    re.Global = True
    re.Pattern = "<script[/w/W]*script>"
    RemoveScript = re.Replace(str, " ")
End Function

Function RemoveEmbed(ByVal str As String) As String '过滤嵌入多媒体
    Dim re
    Set re = New RegExp
    re.IgnoreCase = True
    re.Global = True
    re.Pattern = "<embed[/w/W]*embed>"
    RemoveEmbed = re.Replace(str, " ")
End Function

Function RemoveObject(ByVal str As String) As String '过滤嵌入多媒体
    Dim re
    Set re = New RegExp
    re.IgnoreCase = True
    re.Global = True
    re.Pattern = "<object[/w/W]*object>"
    RemoveEmbed = re.Replace(str, " ")
End Function

 

3.字符串遍历过滤图片标签

Private Function RemoveImg(ByVal str As String) As String
    '不显示图片
    Dim i As Integer
    Dim tempSource, tempStr As String
    Dim img() As String
    tempSource = str
    img = Split(str, "<img")
    For i = 1 To UBound(img) - 1
        tempStr = Split(img(i), ">")(0) '<img> 标签的结束
        tempSource = Replace(tempSource, "<img" & tempStr & ">", "", 1, -1, 1)
    Next
    RemoveImg = tempSource
End Function

 

4.操作页面元素

for(i=0;i<document.getElementsByTagName.length;i++){
    document.getElementsByTagName("input")[i].style.background="#CCCCCC";

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值