关闭

VBScript 实现 UBB 显示代码([code][/code])附加行号, 正则实现 By Stabx

1042人阅读 评论(1) 收藏 举报
标题: VBScript 实现 UBB 显示代码([code][/code])附加行号, 正则实现 By Stabx

正文:

QUOTE:

VBScript 实现 UBB 显示代码([code][/code])附加行号, 正则实现 By Stabx

完成了, 实现这个该死的功能有几小时丢了...

作用: 显示 UBB 代码时, 加上行号. [↓下面代码显示区就是]
此功能由 正则实现替换, ol li 标签实现显示效果, li 标签 属性设置为 list-style-type:decimal;
那些行号只是一个显示, 不是一个实在的号码, 就一障眼法.

1. 替换 UBB [code][/code] 为 HTML 标签
2. 解密 内容为 UBB [code][/code] 标签
3. 相关 CSS
话外音: 秩序就是一切, 不是我喜欢把内容弄得一塌糊涂, 而是 CSDN 的编辑器太东施...

shawl.qiu<shawl.qiuATgmail.com>
绿色学院 | http://blog.csdn.net/btbtd/
2006-6-16

CODE:

  1. ----3. 相关 CSS
  2. ----------------------------------------
  3. <style type="text/css">
  4. /*<![CDATA[*/ 
  5. /* UBB */
  6. ol {margin:0px; padding:0px;}
  7. code, quote, cite {
  8.     line-height: 150%;
  9.     }
  10. .u_code, .marginE, .u_quote, .marginQuote, .u_cite, .cite {
  11.     padding:15px 10px;
  12.     margin:0px auto;
  13.     overflow:auto;
  14.     width:90%;
  15.     font-size: 12px;
  16.     line-height:150%;
  17.     }
  18. .u_code, .marginE {
  19.     color: #3333FF;
  20.     border: 1px dotted #000000;
  21.     }
  22. .u_quote, .marginQuote{
  23.     color: #CC3366;
  24.     border: 1px dotted #FF9900;
  25.     }
  26. .u_cite, .cite {
  27.     border: 1px dotted #CCCCCC;
  28.     font-style:normal;
  29.     }
  30. .u_code ol li { list-style-type:decimal; color:blue !important;}
  31. .u_code ol {margin:0px 0px 0px 28px;}
  32.  /*]]>*/
  33. </style>
  34. ----------------------------------------
  35. ----2. 解密 内容为 UBB [code][/code] 标签
  36. ----------------------------------------
  37.     Set re1 = New regExp
  38.         re1.Global = true
  39.         re1.IgnoreCase = true
  40.         re1.Multiline = true
  41.             re1.Pattern = "<p/><b>CODE:</b><code><div class=""u_code""><ol>(?:[/s/S]+)</ol></div></code>"  
  42.         Set Matches = re1.Execute(str)
  43.             for each match in Matches
  44.                 match=replace(match,"<p/><b>CODE:</b><code><div class=""u_code""><ol>","")
  45.                 match=replace(match,"</ol></div></code>","")
  46.                 match=replace(match,"<li>","")
  47.                 match=replace(match,"</li>","")
  48.                 re1.Pattern = "<p/><b>CODE:</b><code><div class=""u_code""><ol>(?:[/s/S]+)</ol></div></code>"  
  49.                 str = re1.Replace(str,"[code]"&match&"[/code]")
  50.             next
  51.     set    re1=nothing
  52. ----------------------------------------
  53. ----1. 替换 UBB [code][/code] 为 HTML 标签
  54. ----------------------------------------
  55.     Set re1 = New regExp
  56.         re1.Global = true
  57.         re1.IgnoreCase = true
  58.         re1.Multiline = true
  59.             re1.Pattern = "/[code/]([?:/s/S]+)/[//code/]"  
  60.         Set Matches = re1.Execute(str)
  61.             for each match in Matches
  62.                 match=replace(match,"<br/>","")
  63.                 match=replace(match,"[code]","")
  64.                 match=replace(match,"[/code]","")
  65.                 
  66.                 re1.Pattern = "(^[/s/S]?)"
  67.                 match = re1.Replace(match,"<li>$1")
  68.                 
  69.                 re1.Pattern = "([/s/S]$)"
  70.                 match = re1.Replace(match,"$1</li>")
  71.  
  72.                 re1.Pattern = "/[code/][/s/S]+/[//code/]"  
  73.                 str = re1.Replace(str,"<p/><b>CODE:</b><code><div class=""u_code""><ol>"&match&"</ol></div></code>")
  74.             next
  75.     set    re1=nothing
  76. ----------------------------------------

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场