ASP的Escape和UnEscape函数
昨天一个客户的网站改点东西.本来很简单的啦.没想在幻灯片那儿卡死了.一般来说幻灯片换个样式百度一下一大堆.不过换上去了毛病却出来了.先是不正常显示.然后接着就是点不了链接.郁闷了好久.后来问我们技术部主管.嘿嘿.一次性解决问题.
先看下.原本的连接是这样:Abcde.asp?mmid=025&lw=025&m2=1&t=245;我把这个链接直接放到地址栏里打开了.再返回去点幻灯片的.可以了.不过只打开了Abcde.asp?mmid=025.我还以为幻灯不支持&这个符号.所以折腾了好久.解决这个其它很简单.转码一下就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了
最新评论
强大!
The purchases I make...
At last! Somonee who...
Good job mkanig it a...
How neat! Is it real...
Unparalleled accurac...
Thanky Thanky for al...
That's an inenguios ...
Holy szhinit, this i...
If you wrote an atri...