服务器之家

服务器之家 > 正文

asp仿php的一些函数分享

时间:2019-08-16 10:50     来源/作者:服务器之家

代码如下:


'过程:输出字符串[代替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

标签:

相关文章

热门资讯

抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍 2019-06-05
淘宝合合卡可以送好友吗 淘宝合合卡快速获得方式
淘宝合合卡可以送好友吗 淘宝合合卡快速获得方式 2019-06-13
返回顶部