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

(0)

相关推荐

  • 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文件运行结果返回

  • ASP超级链接和HTML函数正则表达式 修正版

    过滤超级链接 复制代码 代码如下: Function RegRemoveHref(HTMLstr) Set ra = New RegExp ra.IgnoreCase = True ra.Global = True ra.Pattern = "<A[^>]+>(.+?)<\/A>" RegRemoveHref = ra.replace(HTMLstr,"$1") END Function 过滤所有HTML代码 复制代码 代码如下: Fu

  • php计算2个日期的差值函数分享

    非常简单实用的函数分享给大家, 奉上代码: 复制代码 代码如下: /**      *    日期-计算2个日期的差值      *  @return int      */     public function get_difference($date, $new_date) {         $date = strtotime($date);         $new_date = strtotime($new_date);         return abs(ceil(($date

  • Android高仿微信聊天界面代码分享

    微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们来看一下整个小项目的主体结构: 下面是Activity的代码: package com.way.demo; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import jav

  • Android仿QQ空间动态界面分享功能

    先看看效果: 用极少的代码实现了 动态详情 及 二级评论 的 数据获取与处理 和 UI显示与交互,并且高解耦.高复用.高灵活. 动态列表界面MomentListFragment支持 下拉刷新与上拉加载 和 模糊搜索,反复快速滑动仍然非常流畅. 缓存机制使得数据可在启动界面后瞬间加载完成. 动态详情界面MomentActivity支持 (取消)点赞.(删除)评论.点击姓名跳到个人详情 等. 只有1张图片时图片放大显示,超过1张则按九宫格显示. 用到的CommentContainerView和Mom

  • asp之日期和时间函数示例

    asp之日期和时间函数示例 可以使用日期和时间函数来得到各种格式的日期和时间 函数语法说明示例NowNow()取得系统当前的日期和时间Dim MyVar MyVar = Now' MyVar 包含当前的日期和时间.DateDate()取得系统当前的日期Dim MyDate MyDate = Date' MyDate 包含当前系统日期.TimeTime()取得系统当前的时间Dim MyTime MyTime = Time ' 返回当前系统时间.YearYear(Date)取得给定日期的年份Dim

  • Android自定义PopupWindow仿点击弹出分享功能

    本文实例自定义PopupWindow,点击弹出PopupWindow,背景变暗,仿点击弹出分享功能,供大家参考,具体内容如下 注:参照大神代码写的 自定义代码 package com.duanlian.popupwindowdemo; import android.app.Activity; import android.content.Context; import android.graphics.drawable.ColorDrawable; import android.view.Lay

  • JavaScript常用的工具函数分享

    目录 格式化时间戳 时间格式化 几分钟前 几小时前 url参数转为对象 对象序列化[对象转url参数] 本地存储 cookie操作 数字格式化单位 数字千位过滤 过滤成版本号 首字母大写 class 操作 文本复制功能 判断是否是一个数组 判断是否是一个空数组 克隆一个数组 数组去重 是否为PC端 判断是否为微信 设备判断:android.ios.web 常见正则校验 去除字符串空格 过滤html代码 生成随机数范围 判断图片加载完成 光标所在位置插入字符 图片地址转base64 base64图

  • Asp实现的数据库连接池功能函数分享

    数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正是针对这个问题提出来的.数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏.这项技术能明显提高对数据库操作的性能. 但是这项技术一般在java ,php ,.net 里

  • ASP实现强制图片下载函数

    图片不进行处理,图片默认是用浏览器打开显示,如果希望图片变为下载可以使用以下代码 function downloadFile(strFile) strFilename = server.MapPath(strFile) Response.Buffer = True Response.Clear Set s = Server.CreateObject("ADODB.Stream") s.Open s.Type = 1 on error resume next Set fso = Serv

随机推荐