ASP语法高亮类代码
来源:网络来源TAG:语法高亮浏览数: 日期:2010-8-20评论:
折叠ASP/Visual Basic Code复制内容到剪贴板
  1.   
  2. Class Wyd_AspCodeHighLight    
  3. Private RegEx    
  4. Public Keyword,ObjectCommand,Strings,VBCode    
  5. Public KeyWordColor,ObjectCommandColor,StringsColor,Comment,CodeColor    
  6. Private Sub Class_Initialize()    
  7. Set RegEx = New RegExp    
  8. RegEx.IgnoreCase = True ' 设置是否区分字母的大小写 True 不区分。    
  9. RegEx.Global = True ' 设置全程性质。    
  10. KeyWordColor="#0000FF"    
  11. ObjectCommandColor="#FF0000"    
  12. StringsColor="#FF00FF"    
  13. Comment="#008000"    
  14. CodeColor="#993300"    
  15. Keyword="Set|Private|If|Then|Sub|End|Function|For|Next|Do|While|Wend|True|False|Nothing|Class" '关建字 请自己添加    
  16. ObjectCommand="Left|Mid|Right|Int|Cint|Clng|String|Join|Array" '函数 请自己添加    
  17. VBCode=""    
  18. End Sub    
  19. Private Sub Class_Terminate()    
  20. Set RegEx = Nothing    
  21. End Sub    
  22. Private Function M_Replace(Str,Pattern,Color)    
  23. RegEx.Pattern = Pattern ' 设置模式。    
  24. M_Replace=RegEx.Replace(Str,"<font color="&Color">$1</font>")    
  25. End Function    
  26.   
  27.   
  28.   
  29. Private Function String_Replace(Str,Pattern,Pattern1,Color,IsString)    
  30. Dim Temp,RetStr    
  31. RegEx.Pattern =Pattern1    
  32. Set Matches = RegEx.Execute(Str)    
  33. For Each Match In Matches ' 遍历 Matches 集合    
  34. Temp=Re(Match.value)    
  35. Str = Replace(Str,Match.value,Temp)    
  36. Next    
  37. RegEx.Pattern = Pattern ' 设置模式。    
  38. If IsString=1 Then    
  39. String_Replace=RegEx.Replace(Str,"<font color="&Color">"$1"</font>")    
  40. Else    
  41. String_Replace=RegEx.Replace(Str,"<font color="&Color">$1</font>")    
  42. End If    
  43. End Function    
  44.   
  45.   
  46. Private Function Re(Str)    
  47. Dim TRegEx,Temp    
  48. Set TRegEx = New RegExp    
  49. TRegEx.IgnoreCase = True ' 设置是否区分字母的大小写。    
  50. TRegEx.Global = True ' 设置全程性质。    
  51. TRegEx.Pattern="<.*?>"    
  52. Temp=TRegEx.Replace(Str,"")    
  53. Temp=Replace(Temp,"<","")    
  54. Temp=Replace(Temp,">","")    
  55. Re=Temp    
  56. Set TRegEx=Nothing    
  57. End Function    
  58.   
  59. Public Function MakeLi()    
  60. Dim Temp    
  61. If VBCode="" Then    
  62. MakeLi=""    
  63. Exit Function    
  64. End If    
  65. VBCode=HTMLEncode(VBCode)    
  66. Temp=M_Replace(VBCode,"\b("&Keyword")\b",KeyWordColor)    
  67. Temp=M_Replace(Temp,"\b("&ObjEctCommand")\b",ObjectCommandColor)    
  68. Temp=String_Replace(Temp,"""(.*?)""","""(.*)(<.+?>)("&KeyWord&ObjectCommand")+(<.+?>)(.*)""",StringsColor,1)' 字符串    
  69. Temp=String_Replace(Temp,"(('|rem).*)","'(.*)(<.+?>)("&KeyWord&ObjectCommand")+(<.+?>)(.*)",Comment,0) '注释    
  70. MakeLi="<FONT COLOR="&CodeColor">"&RepVbCrlf(Temp)"</FONT>"    
  71. End Function    
  72. Public Function RepVbCrlf(fString)    
  73. RepVbCrlf = Replace(fString, CHR(10), "<BR> ")    
  74. End Function    
  75. Public Function HTMLEncode(fString)    
  76. If IsNull(fString) or fString="" Then    
  77. HTMLEncode=""    
  78. Exit Function    
  79. End If    
  80. fString = replace(fString, ">"">")    
  81. fString = replace(fString, "<""<")    
  82. 'fString = Replace(fString, CHR(32), " ")    
  83. 'fString = Replace(fString, CHR(9), " ")    
  84. 'fString = Replace(fString, CHR(34), """)    
  85. 'fString = Replace(fString, CHR(39), "'")    
  86. 'fString = Replace(fString, CHR(13), "")    
  87. 'fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")    
  88. 'fString = Replace(fString, CHR(10), "<BR> ")    
  89. HTMLEncode = fString    
  90. End Function    
  91. End Class    
昨天新闻点击排行
一周新闻点击排行
当月新闻点击排行
相关评论
正在加载评论列表...
评论表单加载中...