Content

ASP删除img标签的style属性只保留src的正则函数(删除一个img元素的标题)这都可以?

文章摘要

这篇代码是用Visual Basic for Applications(VBA)编写的一个自定义函数 named `FixImg`,其主要功能是处理输入的字符串(通常与图片链接相关),并进行以下操作: 1. **替换特殊字符**:函数首先替换字符串中的换行符、制表符、空格以及某些特定的HTML标签(如`<img>`, `<`, `>`等)。 2. **去除脚本内容**:通过正则表达式,去除字符串中包含的脚本标签(如`onclick`, `onload`等)。 3. **处理图片引用**:进一步使用正则表达式处理图片的`src`属性,确保其引用格式正确,例如将不带引号的`src`地址加上引号,并正确替换图片标签中的`src`值。 总结来说,这个函数的主要目的是清理和规范字符串中的图片链接,使其更加标准和易于使用。

 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=https://www.jb51.net/article/([^””\’\s][^””\’\s>]*).*?>”     sReallyDo=regEx.Replace(sReallyDo, “<img src=”https://www.jb51.net/article/”$1″” />”)     ‘//正则匹配图片SRC地址     regEx.Pattern=”<img.*?\ssrc=https://www.jb51.net/article/([“”\’])([^””\’]+?)\1.*?>”     sReallyDo=regEx.Replace(sReallyDo, “<img src=”https://www.jb51.net/article/”$2″” />”)     FixImg=sReallyDo End Function