文章摘要
这篇文章介绍了名为`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
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
© 版权声明
文章版权归作者所有,未经允许请勿转载。