您的位置:首页 >ASP删除img标签的style属性只保留src的正则函数
发布于2026-04-21 阅读(0)
扫一扫,手机访问
这个功能的目标很明确:将复杂的IMG标签代码,统一格式化为干净的格式。说白了,就是只保留最核心的图片路径(SRC),把标签里其他所有的属性统统剥离掉。
先来看看一段经典的ASP实现代码。这段代码结构清晰,逻辑严密,对于处理HTML片段中的图片标签非常有效。
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, "
", " />", 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
上面的代码确实写得非常扎实,堪称教科书级的处理流程。如果你想深入理解其背后的思路,不妨再参考一下下面几种Ja vaScript的实现方式,它们从不同角度解决了同一个问题。
js过滤img里style属性
在Ja vaScript前端领域,思路同样直接。这里展示一个使用正则表达式进行替换的经典方法:
var str = "" str = str.replace(/
]*>/gi, function (match, capture) { return match.replace(/style\s*?=\s*?([‘"])[\s\S]*?\1/ig, '') }) console.log(str)
不是替换直接通过js设置
当然了,如果目标不是处理字符串,而是直接操作已经存在于DOM中的图片元素,方法就更简单粗暴了。直接遍历所有图片,清空它们的样式文本即可:
var is=document.images; for(var i=0,len=is.length;i
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9