上一篇:几个开源项目配置信息的存储和处理的方式 >>
[ASP-Last-Code]显示ASP页面的代码
‘’*************************************************************
‘’在支持FSO的情况下,可以显示本站内的所有ASP页面的代码
‘’适用于代码演示时在效果页面上直接显示该页面的代码而不用再对代码制作专门的页面
‘’使用方法:ViewSource.asp?file=要显示的文件名
‘’如:ViewSource.asp?file=x.asp
‘’modify By : Babyt
‘’*************************************************************
%>
<B Style="font-size:12px;font-family:Courier New">HTML/ASP Source Code:</B>
<HR SIZE=1>
<%
Dim objFSO, objInFile
Dim strIn, strTemp
Dim I, J
Dim strFileName
Dim ProcessString
Dim bCharWritten
Dim bInsideScript
Dim bInsideString
Dim iInsideComment
ProcessString = 0
bCharWritten = False
bInsideScript = False
bInsideString = False
iInsideComment = 0
linecount = 1
strFileName = Request.QueryString("file")
‘’为了保护你的其他页面,进行简单保护,只允许访问当前目录下的文件
‘’你可以根据实际需要增加更过规则
If InStr(1, strFileName, "\", 1) Then strFileName=""
If InStr(1, strFileName, "/", 1) Then strFileName=""
If strFileName <> "" Then
Set objFSO = CreateObject("Scripting.FileSystemObject")
‘’判断文件是否存在
If objFSO.FileExists(Server.MapPath(strFileName))=False Then
Response.Write "文件不存在"
Response.End
End If
‘’打开文件
Set objInFile = objFSO.OpenTextFile(Server.MapPath(strFileName))
Response.Write "<PRE Style=‘’font-size:12px;font-family:Courier New‘’>" & vbCRLF
‘’按行读取文本流
Do While Not objInFile.AtEndOfStream
‘’进行编码
strIn = Server.HTMLEncode(objInFile.ReadLine)
strTemp = ""
‘’判断起始 < %
‘’对整个脚本快加亮,n默认蓝色
For I = 1 to Len(strIn)
bCharWritten = False
If InStr(I, strIn, "<%", 1) = I Then
strTemp = strTemp & "<FONT COLOR=#0000EE>"
bInsideScript = True
Else
‘’判断结束标志位 % >
If InStr(I, strIn, "%>", 1) = I Then
strTemp = strTemp & "%></FONT>"
bCharWritten = True
‘’ so we dont get the trailing end of this tag again!
‘’ ie. Len("%>") - 1 = 4
I = I + 4
bInsideScript = False
End If
End If
‘’ Toggle Inside String if needed!
If bInsideScript And iInsideComment = 0 And InStr(I, strIn, """, 1) = I Then bInsideString = Not bInsideString
‘’判断可能的注释,主要是为了改变其颜色(默认绿色)
If bInsideScript And Not bInsideString And (InStr(I, strIn, "‘’", 1) OR InStr(I, strIn, "//", 1)) = I Then
strTemp = strTemp & "<FONT COLOR=#009900>"
iInsideComment = iInsideComment + 1
End If
‘’ 结束注释文字处理
If iInsideComment > 0 And I = Len(strIN) Then
strTemp = strTemp & Mid(strIn, I, 1)
For J = 1 to iInsideComment
strTemp = strTemp & "</FONT>"
Next ‘’J
bCharWritten = True
iInsideComment = 0
End If
If bCharWritten = False Then
strTemp = strTemp & Mid(strIn, I, 1)
End If
Next
‘’此句写行号,可以把行号去掉
Response.Write "<FONT COLOR=#666666>" & linecount & "</font> " & strTemp & vbCRLF
linecount = linecount + 1
Loop
Response.Write "</PRE>" & vbCRLF
objInFile.Close
Set objInFile = Nothing
Set objFSO = Nothing
End If
%>
下一篇:C#实现WEB服务器 >>
相关文章:
- · 一切都因为分页-再谈分页
- · 简单快捷实现ASP在线发邮件功能
- · 改进性能和样式的 25+ ASP 技巧
- · 我的asp之路
- · 网上考试系统的一点心得
- · asp程序错误详细说明例表
- · 用好活动字幕标记—marquee
- · asp.net实现分组全选部分复选框
- · 在PPC上编译ASP,吃惊!!!
- · Asp之Request对象(1)
- · 汉字转拼音
- · 在ASP文件中调用DLL
- · 存储过程介绍及asp存储过程的使用
- · 如何把ASP编写成DLL
- · Asp.Net下导出/导入规则的Excel(.xls)文件
- · 我写ASP时常用到的一些函数(2)
- · asp 中处理异常
- · asp
- · ASP.Net Web Page深入探讨
- · IIS6 和Tomcat5 的整合
- · 浅谈如何建立三层体系结构的ASP应用程序
- · ASP控制每页打印行数
- · 对Blog的个性化修改
- · 日曆控件
- · 网页设计的价格标准
- · 在ASP.NET里通过URL传递参数得到乱码的解决方法
- · 常用ASP代码(一)
- · ASP分页代码,已经写成类了,值得参考
- · ASP错误处理
- · 带右键菜单的树形控件(1)
- · 我写ASP时常用到的一些函数
- · 金额转换算法
- · IIS防止文件下载完全手册(非更改文件名法)
- · Adodb.Command 平时很少注意到的一个参数
- · 一个获得随机字符串的asp函数
- · vbscript函数集
- · asp之数学函数
- · 会员管理系统中会员类的实现
