asp仿php的一些函数分享
代码如下:
'过程:输出字符串[代替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 相关推荐
清风徐来水波不兴 2020-03-01
pythonjw 2020-11-17
hedongli 2020-09-01
浪味仙 2020-08-17
IT兄弟团 2020-08-01
凉白开 2020-07-19
kjh00abc 2020-07-08
Skyline 2020-06-28
苦咖啡flask 2020-06-18
万物weiyi 2020-06-16
半纸药笺 2020-06-14
chenhaimeimeng 2020-06-13
JF0 2020-06-13
逍遥友 2020-06-02
kyelu 2020-06-02
northwindx 2020-05-31
tengyuan 2020-05-30
singer 2020-05-30
GreatZhou 2020-05-28