平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“ASP删除img标签的style属性只保留src的正则函数”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
ASP去除img标签style属性只保留src
落到代码里,'功能:将IMG代码格式化为格式,只保留SRC属性,去掉IMG标签的其他属性。
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, "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 = "]*).*?>"
sReallyDo = regEx.Replace(sReallyDo, "")
'//正则匹配图片SRC地址
regEx.Pattern = ""
sReallyDo = regEx.Replace(sReallyDo, "")
FixImg = sReallyDo
End Function
上面的代码确实写得不错,原理也能够参考下面的代码
js过滤img里style属性
var str = ""
str = str.replace(/]*>/gi, function (match, capture) {
return match.replace(/style\s*?=\s*?([‘"])[\s\S]*?\1/ig, '')
}))
console.log(str)
不是替换直接借助js设置
var is=document.images;
for(var i=0,len=is.length;iis[i].style.cssText=""
}
到此这篇关于ASP删除img标签的style属性只保留src的正则函数的文章就介绍到这了,更多相关ASP去除img的style属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多兼容脚本之家!

