asp仿php的一些函數分享

來源:互聯網
上載者:User

複製代碼 代碼如下:'過程:輸出字串[代替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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.