ASP高亮类

所属分类: 网络编程 / ASP编程 阅读数: 1539
收藏 0 赞 0 分享
复制代码 代码如下:

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
%> 
更多精彩内容其他人还在看

asp知识整理笔记4(问答模式)

这是关于asp知识整理的最后一份笔记,希望大家仔细阅读。
收藏 0 赞 0 分享

ASP基础知识VBScript基本元素讲解

这篇文章主要介绍了ASP基础知识VBScript基本元素的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP编码和解码函数详解

这篇文章主要介绍了ASP编码和解码函数的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP显示页面执行时间的方法

这篇文章主要介绍了ASP显示页面执行时间的方法,在本地测试一下输出页面需要多少时间,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第一篇(ASP技术简介)

本文将以 Active Server Pages 为中心,向你全面展示制作动态商业网站的步骤和技巧并通过大量的实例,让你在不断的理论和实践之中笑傲“网络”……
收藏 0 赞 0 分享

ASP基础入门第二篇(ASP基础知识)

这篇文章是ASP基础入门第二篇,第一篇展示了ASP动态网站设计的一些最基本的方法,相信通过实践各位对 ASP 已经有了最基本的了解,本文将进一步介绍ASP动态网站的一些基本技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第三篇(ASP脚本基础)

通过前两篇的学习,相信各位已经对 ASP 的动态网站设计有了一个基本的概念和整体的印象。从本篇开始作者将从脚本语言的使用着手,由浅入深地带领大家探索 ASP 动态网站设计的真正奥秘。
收藏 0 赞 0 分享

ASP基础入门第四篇(脚本变量、函数、过程和条件语句)

大家在学习了脚本语言 VBScript 的变量、常量和过程的基本概念后,本期将继续向各位介绍 VBScript 的函数和语法。
收藏 0 赞 0 分享

ASP基础入门第五篇(ASP脚本循环语句)

在本文上两篇中,我们学习了脚本语言 VBScript 的变量、函数、过程和条件语句,本篇将继续给大家介绍 VBScipt 的循环语句,并对脚本语言在 ASP 中的应用加以总结。  
收藏 0 赞 0 分享

ASP基础入门第六篇(ASP内建对象Request)

从本篇开始作者从 ASP 内建对象着手,为大家详细剖析 ASP 的六个内建对象和各种组件的特性和方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多