[原创]我写的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
%>

wyd1520 写的ASP高亮类相关推荐

  1. 基于Delphi API写的UDP通讯类

    转载地址:http://www.codefans.net/articles/159.shtml 基于Delphi API写的UDP通讯类,可以广播和单播,类作者:王彦鹏.这个类是作者2007年的时候写 ...

  2. php dump utfp,php pchart乱码-使用REST接口获取GeoServer中的...-结合 thinkPHP 分页写成自己分页类_169IT.COM...

    本页文章导读: ▪php pchart乱码      有俩种情况:①:未将中文字符编码格式修改成utf-8 (例子如下:)mb_convert_encoding($data, "html-e ...

  3. php 类分开写,自己前几天写的无限分类类_PHP教程

    自己前几天写的无限分类类_PHP教程 前一周写的吧,使用中效果还不错. 主要思想来自:http://www.phpobject.net/b...[url=http://www.phpobject.ne ...

  4. (一)、写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight)。(方法的重写)...

    (一).写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight). 再写两个子类: 红猪的类:类中有属性姓名(name),攻击力(attack),颜色(color ...

  5. 一个印度人写的VC串口类CSerialCom(有串口基础介绍)

    http://www.vc-rs232.com/html/VC_SSCOM_Control/2011/0117/34.html 一个印度人写的VC串口类CSerialCom(有串口基础介绍) 软件介绍 ...

  6. 编程语言书籍下载(ASP/ASP.net类)

    编程语言书籍下载(ASP/ASP.net类) XML与ASP网站实作大全 ASP经典百例 ASP.NET 1.1专业开发 ASP.NET完全手册 ASP.NET 技术参考 ASP.netdatabas ...

  7. 模仿jva的逻辑写个kotlin实体类。

    模仿jva的逻辑写个kotlin实体类. 实体类的内容: import android.util.Log/*** Created by Administrator on 2017/5/27.* @au ...

  8. 删除lpt1.css.asp或com8.index.asp这类文件的方法_asp木马无法删除解决办法

    aux|prn|con|nul|com1|com2|com3|com4|com5|com6|com7|com8|com9|lpt1|lpt2|lpt3|lpt4|lpt5|lpt6|lpt7|lpt8 ...

  9. java 程序写出三个类,triangle,lader,circle(简单易懂)

    编写一个Java应用程序,该程序中有三个类:Triangle.Trapezoid和Circle,分别用来刻画"三角形"."梯形"和"圆形". ...

  10. 1. 写一个基本的类

    1. 写一个基本的类 上手C++以来,仅熟练使用if.for等基本语句的我有很多疑惑,本篇主要解答以下问题: 类是什么 public & private 的作用 创建一个类,.cpp和.h文件 ...

最新文章

  1. 天池算法赛:数据挖掘经典赛事!DCIC 2020 数字中国创新大赛启动!
  2. Cisco 3640策略路由配置
  3. 详述@ResponseBody和@RequestBody注解的区别
  4. 【C语言】C语言实现面向对象编程之多态
  5. RDIFramework.NET-.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(MVC版)...
  6. 黄聪:AngularJS最理想开发工具WebStorm
  7. 浏览网页时,手机显示手机被恶意攻击,不停震动,一直弹出应用要我下载,有没有问题?
  8. Tosca:键盘输入字符串
  9. weex入门指南--华岭
  10. No module named MYSQLdb 问题解决
  11. Mac电脑专业音乐制作Logic Pro X中文
  12. t检验的p值对照表_第十讲 R-两独立样本t检验
  13. IDEA 2017 破解 license 激活
  14. android studio JNI Cmake Erro at 运行失败
  15. 计算机组成原理实验箱D7,计算机组成原理与系统结构实验仪教学设备,上海求育...
  16. ubuntu系统如何连接到服务器,远程ubuntu系统怎么连接到服务器
  17. ruid+oracle,Timmy Trumpet《Oracle》[高品质音乐下载]
  18. 节奏快?压力大?VR全景客栈带你体验安逸生活
  19. PyTorch 图像分类识别(一)定义及加载自己的数据集并可视化
  20. wifi信道12为啥没人用_【科普】为什么WiFi自动信道选到的信道多数在1/6/11

热门文章

  1. python爬虫淘宝评论_Python爬虫,抓取淘宝商品评论内容
  2. 《数字电子技术基础》3.3 CMOS门电路(下)
  3. android 开发地图,(android地图开发) 高德地图开发准备
  4. matlab gui 数据处理,基于MATLAB GUI的数据处理分析界面的设计与应用
  5. Adobe Reader X 10.1.0
  6. GPS从入门到放弃(十九) --- 精密星历
  7. 主题:一个成功的RIA技术需要满足的条件(转)
  8. chrome frame解决IE9一下不兼容问题
  9. Skype国际版使用国内卡
  10. mysql coreseek_Coreseek使用