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

随心笔谈3年前发布 admin
229 0 0

文章摘要

这篇文章介绍了名为`FixImg`的VBA自定义函数,用于处理字符串并进行替换操作。函数的主要功能包括: 1. 检查输入字符串是否为空,并返回空字符串。 2. 替换字符串中的换行符、制表符等特殊字符。 3. 使用正则表达式去除脚本标记(如`onclick`、`onload`等)。 4. 处理图片链接,确保`src`属性带有双引号。 5. 替换图片链接地址,使其格式化为标准格式。 总结:该函数通过一系列处理步骤,对输入字符串中的图片链接进行格式化和清理,适用于处理包含脚本和图片链接的文本内容。


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

© 版权声明

相关文章