欢迎来到代码驿站!

ASP代码

当前位置:首页 > 软件编程 > ASP代码

ReSaveRemoteFile函数之asp实现查找文件保存替换的代码

时间:2022-07-27 11:15:51|栏目:ASP代码|点击:
'================================================
    '函数名:ReSaveRemoteFile
    '作  用:查找文件保存替换
    '参  数:Str   ----原字符串
    '参  数:url   ----当然网站URL
    '参  数:Dir -----保存目录
    '参  数:InSave ------是否保存,True,False
    '返回值:格式化取后的字符串
    '================================================
    Public Function ReSaveRemoteFile(ByVal str, ByVal URL, ByVal Dir,InSave)
        Dim s_Content
        Dim re
        Dim ContentFile, ContentFileUrl
        Dim strTempUrl,strFileUrl,DirTemp,PathTemp,FileTemp,Tempi,TempUrlArray,Arr_Path
        Dim sAllowExtName
        sAllowExtName="rm|swf"

        s_Content = str
        On Error Resume Next
        Set re = New RegExp
        re.IgnoreCase = True
        re.Global = True
        re.Pattern = "((src=|href=)((\S)+[.]{1}(" & sAllowExtName & ")))"
        Set ContentFile = re.Execute(s_Content)
        Dim sContentUrl(), n, i, bRepeat
        n = 0
        For Each ContentFileUrl In ContentFile
            strFileUrl = Replace(Replace(Replace(Replace(ContentFileUrl.Value, "src=", "", 1, -1, 1), "href=", "", 1, -1, 1), "'", ""), Chr(34), "")
            If n = 0 Then
                n = n + 1
                ReDim sContentUrl(n)
                sContentUrl(n) = strFileUrl
            Else
                bRepeat = False
                For i = 1 To UBound(sContentUrl)
                    If UCase(strFileUrl) = UCase(sContentUrl(i)) Then
                        bRepeat = True
                        Exit For
                    End If
                Next
                If bRepeat = False Then
                    n = n + 1
                    ReDim Preserve sContentUrl(n)
                    sContentUrl(n) = strFileUrl
                End If
            End If
        Next
        If n = 0 Then
            ReSaveRemoteFile = s_Content
            Exit Function
        End If
        For i = 1 To n 
            strTempUrl = sContentUrl(i) : strTempUrl = FormatRemoteUrl(strTempUrl,URL)'得到文件地址
            Response.Write(strTempUrl)
            IF InSave=True then
                Arr_Path=Split(Dir,"/")
                '----------建目录-----------------------
                  For Tempi=0 To Ubound(Arr_Path)
                     If Tempi=0 Then
                        PathTemp=Arr_Path(0) & "/"
                     ElseIf Tempi=Ubound(Arr_Path) Then
                        Exit For
                     Else
                        PathTemp=PathTemp & Arr_Path(Tempi) & "/"
                     End If
                     If CheckDir(PathTemp)=False Then
                        If MakeNewsDir(PathTemp)=False Then
                           SaveTf=False
                           Exit For
                        End If
                     End If
                  Next
                 '------------------------------------------------------
                TempUrlArray=Split(strTempUrl,"/")
                '----------检查文件是否存在.如果存在换文件名------------------
                Do while True 
                    FileTemp=Dir &  MakeRandom(5) & TempUrlArray(Ubound(TempUrlArray))'生成随机文件名
                    If CheckFile(FileTemp)=False then
                        Exit Do
                    end if
                loop 
                '-------------------------------------------------------------------
                Response.Write(FileTemp)
                If SaveRemoteFile(FileTemp,strTempUrl)=True then
                    Response.Write("保存成功")&"<Br>"
                    s_Content = Replace(s_Content,sContentUrl(i),FileTemp, 1, -1, 1)'替换地址    
                Else
                    Response.Write("保存失败")&"<Br>"
                End if
            Else
                s_Content = Replace(s_Content,sContentUrl(i),strTempUrl, 1, -1, 1)'替换地址        
            End If    
        Next
        Set re = Nothing
        PictureExist = True
        ReSaveRemoteFile = s_Content
        Exit Function
    End Function

上一篇:NextRecordset 和 GetRows 双簧合奏

栏    目:ASP代码

下一篇:没有了

本文标题:ReSaveRemoteFile函数之asp实现查找文件保存替换的代码

本文地址:http://www.codeinn.net/misctech/209015.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有