ASP仿PHP的一些常用函数
ASP #函数2012-05-11 11:46
'过程:输出字符串[代替Response.Write]
Sub echo(Str)
response.Write(Str)
End Sub
'函数:获取表单[代替Request.Form]
Function reqf(Str)
reqf = Request.Form(Str)
End Function
'过程:结束页面并输出字符串
Sub die(Str)
response.Write(Str)
response.End()
End Sub
'函数:将ASP文件运行结果返回为字串
Function ob_get_contents(Path)
Dim tmp, a, b, t, matches, m
Dim Str
Str = file_iread(Path)
tmp = "dim htm : htm = """""&vbCrLf;
a = 1
b = InStr(a, Str, "<%") + 2
While b > a + 1
t = Mid(Str, a, b - a -2)
t = Replace(t, vbCrLf, "{::vbcrlf}")
t = Replace(t, vbCr, "{::vbcr}")
t = Replace(t, """", """""")
tmp = tmp & "htm = htm & """ & t & """" & vbCrLf
a = InStr(b, Str, "%\>") + 2
tmp = tmp & str_replace("^\s*=", Mid(Str, b, a - b -2), "htm = htm & ") & vbCrLf
b = InStr(a, Str, "<%") + 2
Wend
t = Mid(Str, a)
t = Replace(t, vbCrLf, "{::vbcrlf}")
t = Replace(t, vbCr, "{::vbcr}")
t = Replace(t, """", """""")
tmp = tmp & "htm = htm & """ & t & """" & vbCrLf
tmp = Replace(tmp, "response.write", "htm = htm & ", 1, -1, 1)
tmp = Replace(tmp, "echo", "htm = htm & ", 1, -1, 1)
'execute(tmp)
executeglobal(tmp)
htm = Replace(htm, "{::vbcrlf}", vbCrLf)
htm = Replace(htm, "{::vbcr}", vbCr)
ob_get_contents = htm
End Function
'过程:动态包含文件
Sub include(Path)
echo ob_get_contents(Path)
End Sub
'函数:base64加密
Function base64encode(byval Str)
If IsNull(Str) Then Exit Function
Dim base64
Set base64 = New base64_class
Str = base64.encode(Str)
Set base64 = Nothing
base64encode = Str
End Function
'函数:base64解密
Function base64decode(byval Str)
If IsNull(Str) Then Exit Function
Dim base64
Set base64 = New base64_class
Str = base64.decode(Str)
Set base64 = Nothing
base64decode = Str
End Function
'函数:URL加密
Function urlencode(byval Str)
If IsNull(Str) Then Exit Function
Str = server.URLEncode(Str)
urlencode = Str
End Function
'函数:Escape加密
Function escape(byval Str)
If IsNull(Str) Then Exit Function
Dim i, c, a, tmp
tmp = ""
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
tmp = tmp & c
ElseIf InStr("@*_+-./", c) > 0 Then
tmp = tmp & c
ElseIf a>0 And a<16 Then
tmp = tmp & "%0" & Hex(a)
ElseIf a>= 16 And a<256 Then
tmp = tmp & "%" & Hex(a)
Else
tmp = tmp & "%u" & Hex(a)
End If
Next
escape = tmp
End Function
'函数:Escape解密
Function unescape(byval Str)
If IsNull(Str) Then Exit Function
Dim i, c, tmp
tmp = ""
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
tmp = tmp & chrw(CInt("&H;" & Mid(Str, i + 2, 4)))
i = i + 5
Else
tmp = tmp & c
End If
ElseIf c = "%" And i<= Len(Str) -2 Then
If IsNumeric("&H;" & Mid(Str, i + 1, 2)) Then
tmp = tmp & chrw(CInt("&H;" & Mid(Str, i + 1, 2)))
i = i + 2
Else
tmp = tmp & c
End If
Else
tmp = tmp & c
End If
Next
unescape = tmp
End Function相关文章
- ASP获取远程网页的指定内容的函数 2012/05/11
- ASP生成SQL命令字符串类 2012/05/11
- ASP文本框换行显示方法 2012/05/11
- ASP页面支持cache的方法 2012/05/11
- ASP的JSON类使用方法 2012/05/11
- ASP的JSON类 2012/05/11
- ASP实现注册登录的代码 2012/05/11
- ASP实现ajax注册即时提示代码 2012/05/10
- ASP多级联动菜单效果代码 2012/05/10
- ASP提高页面执行效率的方法 2012/05/10