ASP去除img标签style属性只保留src
'功能:将IMG代码格式化为<img src="XXX" />格式,只保留SRC属性,去掉IMG标签的其他属性。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
Function FixImg(sString)
Dim sReallyDo, regEx, iReallyDo
Dim oMatches, cMatch
Dim tStartTime, tEndTime
If IsNull(sString) Then
FixImg = ""
Exit Function
End If
sReallyDo = sString
On Error Resume Next
sReallyDo = Replace(sReallyDo, vbCr, " " )
sReallyDo = Replace(sReallyDo, vbLf, " " )
sReallyDo = Replace(sReallyDo, vbTab, " " )
sReallyDo = Replace(sReallyDo, "<img " , vbCrLf & "<img " , 1, -1, 1)
sReallyDo = Replace(sReallyDo, "/>" , " />" , 1, -1, 1)
sReallyDo = ReplaceAll(sReallyDo, "= " , "=" , True )
sReallyDo = ReplaceAll(sReallyDo, "> " , ">" , True )
sReallyDo = Replace(sReallyDo, "><" , ">" & vbCrLf & "<" )
sReallyDo = Trim(sReallyDo)
On Error GoTo 0
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
'//去除onclick,onload等脚本
regEx.Pattern = "\s[on].+?=([\"" |\ '])(.*?)\1"
sReallyDo = regEx.Replace(sReallyDo, "" )
'//将SRC不带引号的图片地址加上引号
regEx.Pattern = "<img.*?\ssrc=([^\"" \ '\s][^\""\'\s>]*).*?>"
sReallyDo = regEx.Replace(sReallyDo, "<img src=" "$1" " />" )
'//正则匹配图片SRC地址
regEx.Pattern = "<img.*?\ssrc=([\"" \ '])([^\""\']+?)\1.*?>"
sReallyDo = regEx.Replace(sReallyDo, "<img src=" "$2" " />" )
FixImg = sReallyDo
End Function
|
上面的代码确实写得不错,原理也可以参考下面的代码
js过滤img里style属性
1
2
3
4
5
|
var str = "<img style='ddddddddd'>"
str = str.replace(/<img[^>]*>/gi, function (match, capture) {
return match.replace(/style\s*?=\s*?([‘"])[\s\S]*?\1/ig, '' )
}))
console.log(str)
|
不是替换直接通过js设置
1
2
3
4
|
var is=document.images;
for ( var i=0,len=is.length;i<len;i++){
is[i].style.cssText= ""
}
|
到此这篇关于ASP删除img标签的style属性只保留src的正则函数的文章就介绍到这了,更多相关ASP去除img的style属性内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!