LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

ASP语法高亮类代码

admin
2022年6月27日 12:10 本文热度 557
此类高亮根据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>
     '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%>

该文章在 2022/6/27 12:10:27 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved