ASP删除img标签的style属性只保留src的正则函数
编程学习 2021-07-05 10:58www.dzhlxh.cn编程入门
做手机网站的时候图片要做自适应,由于手机网站跟PC网站共用1个数据库,导致文章内的图片有部分带有:style=""等属性,导致手机端图片width:100%失效,去掉mg标签style属性只保留src即可解决问题
ASP去除img标签style属性只保留src
'功能:将IMG代码格式化为<img src="XXX" />格式,只保留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, "<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
上面的代码确实写得不错,原理也可以参考狼蚁网站SEO优化的代码
js过滤img里style属性
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设置
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属性内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!