提取一段字符串的图片文件,当有多张图片时,用“|”来分隔,可以用数组来获取
Function GetImagesInContent(strContent)
Set zk = Server.CreateObject("ZKLib.ZKComLib")
Set re=new RegExp
re.IgnoreCase =True
re.Global=false
MaxLoopCount = 5
s = strContent
strImageList = ""
LoopCount=0
re.Pattern = "(^[sS]*)<IMG.*src=""([^""]*)""([sS]*)"
Test=re.Test(s)
If Test Then
Do While Test
imgPath = re.Replace(s,"$2")
strImageList = strImageList & imgPath
s=re.Replace(s,"$1")
Test=re.Test(s)
LoopCount=LoopCount+1
If Test Then
strImageList = strImageList & "|"
End If
zk.SleepEx(10)
If LoopCount>20 Then Exit Do
Loop
End If
Set re = Nothing
Set zk = Nothing
GetImagesInContent = strImageList
End Function
'------------------------------------------------------------------------------------------
'--------------------------------------------------------------------
'提取一段字符串的图片文件
Function getphoto(strHTML)
Dim objRegExp, Match, Matches,tp
Set objRegExp = New Regexp
'提取一段字符串的图片文件
Function getphoto(strHTML)
Dim objRegExp, Match, Matches,tp
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "<img.+?>"
tp=""
objRegExp.Global = True
objRegExp.Pattern = "<img.+?>"
tp=""
Set Matches = objRegExp.Execute(strHTML)
For Each Match in Matches
tp=tp& Match.value
Next
getphoto=tp
Set objRegExp = Nothing
End Function
tp=tp& Match.value
Next
getphoto=tp
Set objRegExp = Nothing
End Function
Function getsrc(strHTML)
Dim objRegExp, Match, Matches,tp
Set objRegExp = New Regexp
Dim objRegExp, Match, Matches,tp
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "src=.+?["&chr(34)&chr(32)&">]"
tp=""
objRegExp.Global = True
objRegExp.Pattern = "src=.+?["&chr(34)&chr(32)&">]"
tp=""
Set Matches = objRegExp.Execute(Replace(Lcase(strHTML),chr(39),chr(34)))
For Each Match in Matches
tp=tp&"|$$|" & cutsrc(Trim(Match.value))
Next
getsrc=tp
Set objRegExp = Nothing
End Function
Next
getsrc=tp
Set objRegExp = Nothing
End Function
function cutsrc(strHtml)
if Left(strHtml,5)="src="&chr(34) then
cutsrc=Trim(mid(strHtml,6,len(strHtml)-6))
else
if Right(strHtml,1)=">" then
cutsrc=Trim(mid(strHtml,5,len(strHtml)-5))
else
cutsrc=Trim(mid(strHtml,5,len(strHtml)-4))
end if
end if
end function
if Left(strHtml,5)="src="&chr(34) then
cutsrc=Trim(mid(strHtml,6,len(strHtml)-6))
else
if Right(strHtml,1)=">" then
cutsrc=Trim(mid(strHtml,5,len(strHtml)-5))
else
cutsrc=Trim(mid(strHtml,5,len(strHtml)-4))
end if
end if
end function
Response.Write getsrc(getphoto(shujv))