ASP高亮类

代码如下:

Class Wyd_AspCodeHighLight
Private RegEx
Public Keyword,ObjectCommand,Strings,VBCode
Public KeyWordColor,ObjectCommandColor,StringsColor,Comment,CodeColor
 Private Sub Class_Initialize()
   Set RegEx = New RegExp
RegEx.IgnoreCase = True   '' 设置是否区分字母的大小写 True 不区分。
   RegEx.Global = True   '' 设置全程性质。
   KeyWordColor="#0000FF"
   ObjectCommandColor="#FF0000"
   StringsColor="#FF00FF"
Comment="#008000"
CodeColor="#993300"
Keyword="Set|Private|If|Then|Sub|End|Function|For|Next|Do|While|Wend|True|False|Nothing|Class" ''关建字 请自己添加
ObjectCommand="Left|Mid|Right|Int|Cint|Clng|String|Join|Array" ''函数 请自己添加
VBCode=""
 End Sub
 Private Sub Class_Terminate()
   Set RegEx = Nothing
 End Sub
 Private Function M_Replace(Str,Pattern,Color)
   RegEx.Pattern = Pattern  '' 设置模式。
   M_Replace=RegEx.Replace(Str,"<font color="&Color&">$1</font>")
 End Function
 Private Function String_Replace(Str,Pattern,Pattern1,Color,IsString)
 Dim Temp,RetStr
RegEx.Pattern =Pattern1
   Set Matches = RegEx.Execute(Str)
   For Each Match In Matches   '' 遍历 Matches 集合
      Temp=Re(Match.value)
      Str = Replace(Str,Match.value,Temp)
   Next
RegEx.Pattern = Pattern  '' 设置模式。
If IsString=1 Then
      String_Replace=RegEx.Replace(Str,"<font color="&Color&">"$1"</font>")
Else
   String_Replace=RegEx.Replace(Str,"<font color="&Color&">$1</font>")
End If
 End Function
 Private Function Re(Str)
  Dim TRegEx,Temp
  Set TRegEx = New RegExp
  TRegEx.IgnoreCase = True  '' 设置是否区分字母的大小写。
  TRegEx.Global = True   '' 设置全程性质。
  TRegEx.Pattern="<.*?>"
  Temp=TRegEx.Replace(Str,"")
  Temp=Replace(Temp,"<","")
  Temp=Replace(Temp,">","")
  Re=Temp
  Set TRegEx=Nothing
 End Function
 Public Function MakeLi()
   Dim Temp
If VBCode="" Then
   MakeLi=""
   Exit Function
End If
   VBCode=HTMLEncode(VBCode)
   Temp=M_Replace(VBCode,"\b("&Keyword&")\b",KeyWordColor)
   Temp=M_Replace(Temp,"\b("&ObjEctCommand&")\b",ObjectCommandColor)
   Temp=String_Replace(Temp,"""(.*?)""","""(.*)(<.+?>)("&KeyWord&ObjectCommand&")+(<.+?>)(.*)""",StringsColor,1)'' 字符串
   Temp=String_Replace(Temp,"((''|rem).*)","''(.*)(<.+?>)("&KeyWord&ObjectCommand&")+(<.+?>)(.*)",Comment,0) ''注释
   MakeLi="<FONT  COLOR="&CodeColor&">"&RepVbCrlf(Temp)&"</FONT>"
 End Function
 Public Function RepVbCrlf(fString)
    RepVbCrlf = Replace(fString, CHR(10), "<BR> ")
 End Function
 Public Function HTMLEncode(fString)
    If IsNull(fString) Or fString="" Then
    HTMLEncode=""
 Exit Function
    End If
    fString = replace(fString, ">", ">")
    fString = replace(fString, "<", "<")
    ''fString = Replace(fString, CHR(32), " ")
    ''fString = Replace(fString, CHR(9), " ")
    ''fString = Replace(fString, CHR(34), """)
    ''fString = Replace(fString, CHR(39), "''")
    ''fString = Replace(fString, CHR(13), "")
    ''fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
    ''fString = Replace(fString, CHR(10), "<BR> ")
    HTMLEncode = fString
  End Function
End Class

例子
star=timer()
Set TT = New Wyd_AspCodeHighLight
If Request("xx")<>"" Then
 TT.VBCode=Request("xx")
 Response.write TT.MakeLi()
 REsponse.write "<br>"&FormatNumber(timer()-star,2)*1000
Else
%>
<FORM METHOD=POST action="Index2.asp">
<TEXTAREA NAME="xx" ROWS="30" COLS="80">Class Lih
Private RegEx
Public Keyword,ObjectCommand,Strings,VBCode
Public KeyWordColor,ObjectCommandColor,StringsColor,Comment
 Private Sub Class_Initialize()
   Set RegEx = New RegExp
   KeyWordColor="#0000FF"
   ObjectCommandColor="#FF0000"
   StringsColor="#FF00FF"
Comment="#008000"
Keyword="If|End|For|Next|Function|Then|Do|While|Wend|Class"
VBCode=""
 End Sub
 Private Sub Class_Terminate()
   Set RegEx = Nothing
 End Sub
 Private Function M_Replace(Str,Pattern,Color)
   RegEx.IgnoreCase = False   '' 设置是否区分字母的大小写。
   RegEx.Global = True   '' 设置全程性质。
   RegEx.Pattern = Pattern  '' 设置模式。</TEXTAREA>
<INPUT TYPE="submit" value=fff>
</FORM>
<%
End If
%>

(0)

相关推荐

  • ASP高亮类

    复制代码 代码如下: Class Wyd_AspCodeHighLight Private RegEx Public Keyword,ObjectCommand,Strings,VBCode Public KeyWordColor,ObjectCommandColor,StringsColor,Comment,CodeColor  Private Sub Class_Initialize()    Set RegEx = New RegExp RegEx.IgnoreCase = True   

  • ASP JSON类文件的使用方法

    而且要使用某个节点的时候要好好的分析,节点的路径一级级的定位.而JSON最大的好处就是,在使用时候可以只需要将数据字符串声明为一个对象,就可以很方便的调用对象中的各成员.也方便在客户端使用Javascript直接调用程序端生成的数据字符串. 使用ASP的人都知道,ASP可以使用两种类型的脚本引擎,那就是VBSCRIPT和JSCRIPT.偶当初学习的时候就根本不知道JSCRIPT,如果知道的话我想我现在就没有必要这么麻烦的将JSON数据使用JSCRIPT转换后,才能在VBSCRIPT中使用.还好两

  • asp打包类

    <% On Error Resume Next Dim r Set r = New Rar r.Add Server.MapPath("a.gIf") r.Add Server.MapPath("a.txt") r.Add Server.MapPath("test") r.Add Server.MapPath("file.asp") r.packname = Server.MapPath("xxx.dat&qu

  • asp.net类序列化生成xml文件实例详解

    本文实例讲述了asp.net类序列化生成xml文件的方法.分享给大家供大家参考,具体如下: 根据设计的需求需要开发多个商品的API 原XML文件如下: <urlset> <url> <loc>http://www.xxxxx.com/todaydetials.aspx?id=143</loc> <data> <display> <website>爱购114</website> <siteurl>ht

  • 易心asp分页类 v1.0

    易心asp分页类v1.0 复制代码 代码如下: <%  class Ex_SplitPageCls  '==========================================================================  '易心asp分页类v1.0  '作者:易心 QQ:343931221  '个人网站 www.ex123.net www.bo56.com   '演示地址:www.ex123.net/show/page  '转载请保留此信息  '========

  • 叶子asp分页类

    名称: 叶子asp分页类 Name: ShowoPage(vbs class) RCSfile: ReadMe.txt Revision: 0.12.20051114.f Author: Yehe(叶子) Released: 2005-11-14 09:40:13 Descript: ASP分页类,支持access/mssql/mysql/sqlite Contact: QQ:311673 MSN:myehe@msn.com GT:mmyehe@gmail.com WebSite: http:/

  • asp缓存类

    至于缓存的作用,我想我也不用再多说了,它的作用已经很明显,特别是对于信息量非常大或是全数据库页面的网站,他能很好地利用主机的内存资源,加速ASP的执行效率,减轻服务器的负担,而动网在这一方面做得是最突出的,像他现在的dvbbs7.1.0版,更是在缓存的利用上更上一层楼,前后台大多的操作都和缓存有关,而现在动网里用的也就是迷城浪子的缓存类,下面列出动网的三大高手写的ASP缓存类 木鸟写的 复制代码 代码如下: '*******************************************

  • ASP语法高亮类代码

    此类高亮根据Editplus高亮来做的 复制代码 代码如下: Class Wyd_AspCodeHighLight  Private RegEx  Public Keyword,ObjectCommand,Strings,VBCode  Public KeyWordColor,ObjectCommandColor,StringsColor,Comment,CodeColor    Private Sub Class_Initialize()      Set RegEx = New RegExp

  • ASP JSON类源码分享

    复制代码 代码如下: <% '============================================================ ' 文件名称 : /Cls_Json.asp ' 文件作用 : 系统JSON类文件 ' 文件版本 : VBS JSON(JavaScript Object Notation) Version 2.0.2 ' 程序修改 : Cloud.L ' 最后更新 : 2009-05-12 '==================================

  • 功能不错的asp模板类代码附下载第1/4页

    此类支持循环替换,支持嵌套循环替换,支持多模板.  类的代码就不贴不来啰嗦了,在后面有下载,只贴出demo的代码. 一.模板只有一个循环块  模板文件主要代码  <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>{myname}模板-{webName}</title>  </head>

随机推荐