您现在的位置是:网站首页> 编程资料编程资料

asp常用函数集合,非常不错以后研究第1/4页_应用技巧_

2023-05-25 215人已围观

简介 asp常用函数集合,非常不错以后研究第1/4页_应用技巧_

<%
function loadtempletfile(byval path)
    on error resume next
    dim objstream
    set objstream = server.createobject("adodb.stream")
    with objstream
        .type = 2
        .mode = 3
        .open
        .loadfromfile server.mappath(path)
        if err.number <> 0 then
            err.clear
             response.write("预加载的模板[" & path & "]不存在!")
            response.end()
        end if
        .charset = "" & chrset & ""
        .position = 2
            loadtempletfile = .readtext
        .close
    end with
    set objstream = nothing
end function

function movefiles(sFolder,dFolder)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sFolder)) and fso.folderexists(server.mappath(dFolder)) then
        fso.copyfolder server.mappath(sFolder),server.mappath(dFolder)
        movefiles = true
    else
        movefiles = false
        set fso = nothing
        call alertbox("系统没有找到指定的路径[" & sFolder & "]!",2)
    end if
    set fso = nothing
end function

function renamefolder(sFolder,dFolder)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sFolder)) then
        fso.movefolder server.mappath(sFolder),server.mappath(dFolder)
        renamefolder = true
    else
        renamefolder = false
        set fso = nothing
        call alertbox("系统没有找到指定的路径[" & sFolder & "]!",2)
    end if
    set fso = nothing
end function

function checkfolder(sPATH)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sPATH)) then
        checkfolder = true
    else
        checkfolder = false
    end if
    set fso = nothing
end function

function checkfile(sPATH)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.fileexists(server.mappath(sPATH)) then
        checkfile = true
    else
        checkfile = false
    end if
    set fso = nothing
end function

function createdir(sPATH)
    dim fso,pathArr,i,path_Level,pathTmp,cPATH
    on error resume next
    sPATH = replace(sPATH,"\","/")
    set fso = server.createobject("scripting.filesystemobject")
        pathArr = split(sPATH,"/")
        path_Level = ubound(pathArr)
        for i = 0 to path_Level
            if i = 0 then pathTmp = pathArr(0) & "/" else pathTmp = pathTmp&pathArr(i) & "/"
            cPATH = left(pathTmp,len(pathTmp)-1)
            if not fso.folderexists(cPATH) then fso.createfolder(cPATH)
        next
    set fso = nothing
    if err.number <> 0 then
        err.clear
        createdir = false
    else
        createdir = true
    end if
end function

function delclassfolder(sPATH)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sPATH)) then
        fso.deletefolder(server.mappath(sPATH))
    end if
    set fso = nothing
end function

function delnewsfile(sPATH,filename)
    on error resume next
    dim fso,tempArr,cPATH,ePATH,i:i = 0
    set fso = server.createobject("scripting.filesystemobject")
    sPATH = sPATH & filename & site_extname
    if fso.fileexists(server.mappath(sPATH)) then
        fso.deletefile(server.mappath(sPATH))
        while(i <> -1)
            i = i + 1
            ePATH = replace(sPATH,filename & ".",filename & "_" & i + 1 & ".")
            if fso.fileexists(server.mappath(ePATH)) then
                fso.deletefile(server.mappath(ePATH))
            else
                i = -1
            end if
        wend
    end if
end function

class stringclass
    public function getstr(strhtml)
        dim PatrnStr
            PatrnStr="<.*?>"
        dim objRegEx
        set objRegEx = new RegExp
            objRegEx.pattern = PatrnStr
            objRegEx.ignorecase = true
            objRegEx.global = true
        getstr = objRegEx.replace(strhtml,"")
        set objRegEx = nothing
    end function
    public function replacestr(patrn,mstr,replstr)
        dim objRegEx
        set objRegEx = new RegExp
            objRegEx.pattern = patrn
            objRegEx.ignorecase = true
            objRegEx.global = true
        replacestr = objRegEx.replace(mstr,replstr)
        set objRegEx = nothing
    end function
    public function classcustomtag(byval patrn,byval mstr,byval classid,byval indexid,byval pagestr)
        dim objRegEx,match,matches
        set objRegEx = new RegExp
            objRegEx.pattern = patrn
            objRegEx.ignorecase = true
            objRegEx.global = true
        set matches = objRegEx.execute(mstr)
        for each match in matches
            mstr = replace(mstr,match.value,parseclasstag(match.value,classid,indexid,pagestr))
        next
        set matches = nothing
        set objRegEx = nothing
        classcustomtag = mstr
    end function
    public function newscustomtag(byval patrn,byval mstr,byval classid,byval newsid,byval keywords)
        dim objRegEx,match,matches
        set objRegEx = new RegExp
            objRegEx.pattern = patrn
            objRegEx.ignorecase = true
            objRegEx.global = true
        set matches = objRegEx.execute(mstr)
        for each match in matches
            mstr = replace(mstr,match.value,parsenewstag(match.value,classid,newsid,keywords))
        next
        set matches = nothing
        set objRegEx = nothing
        newscustomtag = mstr
    end function
end class

function processcustomtag(byval scontent)
    dim objRegEx,match,matches
    set objRegEx = new RegExp
        objRegEx.pattern = "{ncms:[^<>]+?\/}"
        objRegEx.ignorecase = true
        objRegEx.global = true
    set matches = objRegEx.execute(scontent)
    for each match in matches
        scontent = replace(scontent,match.value,parsetag(match.value))
    next
    set matches = nothing
    set objRegEx = nothing
    processcustomtag = scontent
end function

function X_processcustomtag(byval scontent)
    dim objRegEx,match,matches
    set objRegEx = new RegExp
        objRegEx.pattern = "(\[ncms:).+?(\])(.|\n)+?(\[\/ncms\])"
        objRegEx.ignorecase = true
        objRegEx.global = true
    set matches = objRegEx.execute(scontent)
    for each match in matches
        scontent = replace(scontent,match.value,parsetag(match.value))
    next
    set matches = nothing
    set objRegEx = nothing
    X_processcustomtag = scontent
end function

function getattribute(byval strattribute,byval strtag)
    dim objRegEx,matches
    set objRegEx = new RegExp
        objRegEx.pattern = lcase(strattribute)&"=""[0-9a-zA-Z]*"""
        objRegEx.ignorecase = true
        objRegEx.global = true
    set matches = objRegEx.execute(strtag)
    if matches.count > 0 then
        getattribute = split(matches(0).value,"""")(1)
    else
        getattribute = ""
    end if
    set matches = nothing
    set objRegEx = nothing
end function

function getinnerhtml(byval strhtml)
    dim objregex,matches,str
    set objregex = new regexp
    objregex.pattern = "(\])(.|\n)+?(\[\/ncms\])"
    objregex.ignorecase = true
    objregex.global = false
    set matches = objregex.execute(strhtml)
        if matches.count > 0 then
            str = trim(matches.item(0).value)
        end if
    set matches = nothing
    if len(str) > 8 then
        getinnerhtml = mid(str,2,len(str) - 8)
    end if
end function

function parsetag(byval strtag)
    dim arrresult,classname,arrattributes,objclass
    if len(strtag) = 0 then exit function
    arrresult = split(strtag,":")
    classname = split(arrresult(1)," ")(0)
    select case lcase(classname)
        case "news"
            set objclass = new ncmsnewstag
                if not isnumeric(getattribute("id",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[id]必须是数字!")
                    response.end()
                end if
                objclass.id = getattribute("id",strtag)
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                objclass.show = getattribute("show",strtag)
                if getattribute("lih",strtag) <> "" and not isnumeric(getattribute("lih",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[lih]必须是数字!")
                    response.end()
                end if
                objclass.lih = getattribute("lih",strtag)
                if getattribute("imgw",strtag) <> "" and not isnumeric(get

-六神源码网