网站建设新闻资讯
更多 >>当前位置: 主页 > 建站技巧 > ASP过程替换SUB和Function无效的情况

    ASP过程替换SUB和Function无效的情况

    时间:2010-11-23     来源:广州网站建设    作者:www.c71.cn    点击:

      有时会遇到这样的情况,要替换的目标是一段HTML代码,也就是content=replace(content,"被替换字符","HTML代码段"),如果HTML代码段比较长,这时候如果你一个个回车一个个引号去修正会累个半死,到头来错误连篇,怎么办?

      有人会想到用SUB和Function的子程序调用,是的,但用在这种替换情况时并不是调用过来,而是执行,也就是说你HTML代码段在什么位置的,你就会直接在什么位置执行输入,就是无法调用到我需要替换的位置(可能可以,但我没成功),这时候就可以考虑调用独立的HMTL文件方式了。代码如下:

    <%Function LoadFromFile(ByVal File)
        Dim objStream
        dim a1,b1,c1,a2,b2,c2
        Dim RText
        RText = Array(0, "")
        Set objStream = Server.CreateObject("ADODB.Stream")
        With objStream
            .Type = 2
            .Mode = 3
            .Open
             .charset = "unicode"
            .Position = objStream.Size
            .LoadFromFile Server.MapPath(File)
            RTexta = Array(0, .ReadText)
            a2=len(RTexta(1))
            a1=objStream.Size
            .Close
        End With
         With objStream
            .Type = 2
            .Mode = 3
            .Open
            .Position = objStream.Size
            .charset = "utf-8"
            .LoadFromFile Server.MapPath(File)
            RTextb = Array(0, .ReadText)
            b2=len(RTextb(1))
            b1=objStream.Size
            .Close
        End With
        With objStream
            .Type = 2
            .Mode = 3
            .Open
            .Position = objStream.Size
            .charset = "gb2312"
            .LoadFromFile Server.MapPath(File)
            RTextc = Array(0, .ReadText)
            c2=len(RTextc(1))
            c1=objStream.Size
            .Close
        End With
    if a1<b1 then
    if a1<c1 then csettext=RTexta:cset="unicode"
    if a1<=c1 then
    if a2<c2 then csettext=RTexta:cset="unicode"
    end if
    end if
    if b1<a1 then
    if b1<c1 then csettext=RTextb:cset="utf-8"
    if b1<=c1 then
    if b2<c2 then csettext=RTextb:cset="utf-8"
    end if
    end if
    if c1<a1 then
    if c1<b1 then csettext=RTextc:cset="gb2312"
    if c1<=b1 then
    if c2<b2 then csettext=RTextc:cset="gb2312"
    end if
    end if
    session("cset")=cset
         LoadFromFile = csettext(1)
        Set objStream = Nothing
    End Function%>

      用法:将HTML代码段包存为独立文件top.html
    tophtml=loadfromfile("top.html")
    content=replace(content,"被替换字符如http://www.c71.cn",tophtml)

      这样就可以直接调用过来了。


    复制本文《ASP过程替换SUB和Function无效的情况》地址给好友:

    将此文章《ASP过程替换SUB和Function无效的情况》收藏或分享到:

    上一篇:php统计某文件夹占用空间大小代码      下一篇:行业网站建设如何进行SEO优化