海口秀英隆智慧網絡科技工作室
咨詢熱線:400-822-8458 客戶服務:0898-32183600

ASP的(de)Escape和(hé)UnEscape函數

發表于:2011-05-16 00:00:00來源:人氣:3234

昨天一(yī)個客戶的(de)網站改點東西.本來很簡單的(de)啦.沒想在幻燈片那兒卡死了.一(yī)般來說幻燈片換個樣式百度一(yī)下一(yī)大堆.不過換上去(qù)了毛病卻出來了.先是不正常顯示.然後接着就是點不了鏈接.郁悶了好久.後來問我們技術部主管.嘿嘿.一(yī)次性解決問題.

先看下.原本的(de)連接是這樣:Abcde.asp?mmid=025&lw=025&m2=1&t=245;我把這個鏈接直接放到地(dì)址欄裏打開了.再返回去(qù)點幻燈片的(de).可(kě)以了.不過隻打開了Abcde.asp?mmid=025.我還以為(wèi)幻燈不支持&這個符号.所以折騰了好久.解決這個其它很簡單.轉碼一(yī)下就OK了.

Function vbsEscape(str)
    dim i,s,c,a
    s=""
    For i=1 to Len(str)
        c=Mid(str,i,1)
        a=ASCW(c)
        If (a>=48 and a<=57) or (a>=65 and a<=90) or (a>=97 and a<=122) Then
            s = s & c
        ElseIf InStr("@*_+-./",c)>0 Then
            s = s & c
        ElseIf a>0 and a<16 Then
            s = s & "%0" & Hex(a)
        ElseIf a>=16 and a<256 Then
            s = s & "%" & Hex(a)
        Else
            s = s & "%u" & Hex(a)
        End If
    Next
    vbsEscape = s
End Function

Function vbsUnEscape(str)
    dim i,s,c
    s=""
    For i=1 to Len(str)
        c=Mid(str,i,1)
        If Mid(str,i,2)="%u" and i<=Len(str)-5 Then
            If IsNumeric("&H" & Mid(str,i+2,4)) Then
                s = s & CHRW(CInt("&H" & Mid(str,i+2,4)))
                i = i+5
            Else
                s = s & c
            End If
        ElseIf c="%" and i<=Len(str)-2 Then
            If IsNumeric("&H" & Mid(str,i+1,2)) Then
                s = s & CHRW(CInt("&H" & Mid(str,i+1,2)))
                i = i+2
            Else
                s = s & c
            End If
        Else
            s = s & c
        End If
    Next
    vbsUnEscape = s
End Function

然後再調用就OK了

文章(zhāng)整理(lǐ): 世紀雲圖  /

以上信息與文章(zhāng)正文是不可(kě)分割的(de)一(yī)部分,如(rú)果您要轉載本文章(zhāng),請保留以上信息,謝謝!

版權申明:本站文章(zhāng)部份來自(zì)網絡,如(rú)有侵權,請聯系我們,我們收到後立即删除,謝謝!

特别注意:本站部份轉載文章(zhāng)言論不代表本站觀點,本站所提供的(de)攝影照片,插畫,設計作品,如(rú)需使用,請與原作者聯系,版權歸原作者所有。

微信
網站建設
軟件業務
網絡營銷
400電話