服务热线:18243769982

ASP提取文章正文里的前3张图片并显示出来

网站首页 > 文章中心 > 酷站领地建站教程 > ASP相关浏览:1115
此页为本站2017/9/6 1:34:05原创文章,转载请注明出处

’取得图片

function GetImgs(str)

dim objRegExp1,mm,Match1,imgsrc,i

    Set objRegExp1 = New Regexp

     objRegExp1.IgnoreCase = True    ’忽略大小写

     objRegExp1.Global = True    ’全文搜索

    objRegExp1.Pattern = "src\=.+?\.(gif|jpg|png|bmp)"

    set mm=objRegExp1.Execute(str)

    i=0

    For Each Match1 in mm

    if i<3 then ’提取3张图片

         imgsrc=Match1.Value

        ’也许存在不能过滤的字符,确保万一

         imgsrc=replace(imgsrc,"""","")

         imgsrc=replace(imgsrc,"src=","")

         imgsrc=replace(imgsrc,"<","")

         imgsrc=replace(imgsrc,">","")

         imgsrc=replace(imgsrc,"img","")

         imgsrc=replace(imgsrc," ","")

         GetImgs=getimgs&"||"&imgsrc’把里面的地址串起来组成备用数组

    end if

    i=i+1

    next

end function

’获取内容中的第一张图片

function Get_FirstPic(str) ’取得img 标签内容

    dim tmp,objRegExp,Matches,Match

    Set objRegExp = New Regexp

     objRegExp.IgnoreCase = True    ’忽略大小写

     objRegExp.Global = false        ’全文搜索 !关键!

     objRegExp.Pattern = "<img (.*?)src=(.[^\[^>]*)(.*?)>"

    Set Matches =objRegExp.Execute(str)

    For Each Match in Matches

         tmp=tmp & Match.Value

    Next

     Get_FirstPic=getimgs(tmp)

end function

这里一共有两个过程。第一个过程是提取文章的N张图片(自己改变i的循环次数来达到提取几张的目的),第二个过程是提取第一张图片。两个过程都是独立的,需要用哪个就用哪个过程。

使用方法:

a=GetImgs(文章字段)

b=Get_FirstPic(文章字段)

response.write a

response.write b

自行看一下就知道了。

过程提取图片会保存完整的域名,使用replace函数过滤一下吧。replace(a,"www.xxx.com","")