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 

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%>

时间: 2024-08-03 06:47:33

ASP语法高亮类代码的相关文章

ASP语法高亮类代码_ASP CLASS类

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

发一个ASP的ADODB类代码_ASP CLASS类

反正我现在用这个做了很多站,自己觉得还是满有用的,所以拿出来和大家分享一下.支持三种数据库连接:MSSQL2000,MSSQL2005,ACCESS 三种方法: select_table(sql) 表查询,返回TRUE或FALSE 当SQL语句出错,或空记录时返回FALSE,否则TRUE update_table(SQL) 表更新,包括update,delete 成功执行返回TRUE,否则返回FALSE,updated为执行后影响记录行数. insert_table(sql,table,id_c

ASP XML操作类代码_应用技巧

复制代码 代码如下: Class XMLClass Private objXml Private xmlDoc Private xmlPath '//============================================================ ' Sub Class_initialize Set objXml = Server.CreateObject("MSXML2.DOMDocument") objXml.preserveWhiteSpace = tru

ASP XML操作类代码

复制代码 代码如下:Class XMLClass Private objXml Private xmlDoc Private xmlPath '//============================================================ ' Sub Class_initialize Set objXml = Server.CreateObject("MSXML2.DOMDocument") objXml.preserveWhiteSpace = true

asp.net 数据库连接类代码(SQL)_实用技巧

复制代码 代码如下: public class SqlOperation { #region 属性 /// <summary> /// 保存在Web.config中的连接字符串 /// </summary> protected static string connectionstring = System.Configuration.ConfigurationManager.ConnectionStrings["hao"].ConnectionString; /

两种简单实现菜单高亮显示的JS类代码_javascript技巧

记得当年写静态页时,为了实现高亮都是在每个页面加不同的样式,呵.高亮显示我觉得对于web前端来说,是比较常用到的效果,正好此次又要用到,特地整理出我所写的两种高亮类. 其实思路很简单,第一种方法是通过遍历链接组的href值,通过indexOf判断href值是否被包含在浏览器当前url值中.此方法有一定局限,比如对于iframe内的菜单是不能这样判断的; 第二种方法适用范围更广一样,实现思路也比较简单,即通过判断点击,给点击项加载高亮样式. 第一种判断当前URL值高亮类代码: 复制代码 代码如下:

SyntaxHighlighter语法高亮插件使用说明_javascript技巧

javascript语法高亮 复制代码 代码如下: (function(){ var el=document.getElementById("img"); var doc=document.documentElement,docBody=document.body; var oldY=(doc.scrollTop || docBody.scrollTop)+(doc.clientHeight/2 || docBody.clientHeight/2); (function(){ var

求教:Eclipse如何为新语言配置语法高亮?

问题描述 一个很小众的编程语言,想尝试用Eclipse作为IDE,有关键词若干,希望实现语法高亮和代码提示.请问该如何配置?小弟新手上路,请予指教,烦请讲详细一点.谢谢先 解决方案 解决方案二:eclipse语法提示(红色波浪线)如何开启关闭设置步骤:windows-->perferences-->editors-->texteditor-->annotation在里面选择errors,把其中的三个选项都勾上就可以啦代码提示按alt+/实现语法高亮是系统自带的,不用设置解决方案三:

2016年最热门的15 款代码语法高亮工具,美化你的代码_javascript技巧

前言: 代码高亮很有用,特别是在需要在网站或者blog中显示自己编写的代码的时候,或者给其他人查看或调试语法错误的时候.我们可以将代码高亮,以便阅读者可以十分方便的读取代码块,增加用户阅读代码的良好体验. 语法高亮是文本编辑器用来显示文本的,特别是源代码,根据不同的类别来用不同的颜色和字体显示.这个功能有助于编写结构化的语言,比如编程语言,标记语言,这些语言的语法错误显示是有区别的.语法高亮并不会影响文本自身的意义,而且能很好的符合人们的阅读习惯. 目前,有很多免费而且有用的代码高亮脚本.这些脚