菜头粿

查看: 628|回复: 0
打印 上一主题 下一主题

三年前写过的部分UBB函数(落后了)!

[复制链接]
1#
跳转到指定楼层
发表于 2009-8-29 12:12:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



  
   
三年前写过的部分UBB函数(落后了)!
以下内容含脚本,或可能导致页面不正常的代码
三年前写过的部分UBB函数,相对于现在可是大大落后了!

三年前主要是CGI的Bbs2000、3000等(后来好象改成雷敖),当时动网还是“小孩子”,谁知时至今日已经这样出名了(我好象还留有当时的源代码)。当时由于受到PHP、JSP等随着新版本的完善和扩充而人气大升以及老牌CGI的双重夹击,加上ASP本身的缺陷,使用ASP的网页是越来越少,当时较有名的论坛使用ASP就是设计联盟和动网,但随着ASP.net和Win2000服务器在国内的使用率不断上升以及动网(对专业论坛设计的不懈追求者)的不断完善和功能提升,使用ASP的网页(站)又多起来,以至今日的动网成为了专业论坛设计的一哥。最后一个因素纯属自己的观点。

<% '...当引用过“content”变量时,可参“postform.inc”

Function  UnUBBCode(content) '删除UBB标记
  Dim RegEx
  Set RegEx = New RegExp
  RegEx.IgnoreCase = True
  RegEx.Global = True
  RegEx.Pattern = " :em\d+?:"   '笑脸转换
  content = RegEx.Replace(content, " ")
  
  RegEx.Pattern = "\[\/\S+?\]" '[/XX]标记
  val = RegEx.Test(content)   '搜索到匹配返回True
  if not(val) then     '如果没有标记,一般可以说明是用户自己写的如:[内容],而UBB非标记。
    UnUBBCode = content
    Exit Function
  end if
  RegEx.Pattern = "\[\S+?\]"  '笑脸转换以外1;需分为两步:1.[XX];2.[/XX]。
  content = RegEx.Replace(content, " ")
  RegEx.Pattern = "\[\/\S+?\]" '笑脸转换以外2
  content = RegEx.Replace(content, " ")
  Set RegEx = Nothing
  UnUBBCode = content
End Function

Function  LimitReturns(content)
  Dim RegEx
  Set RegEx = New RegExp
  RegEx.IgnoreCase = True
  RegEx.Global = True

  RegEx.Pattern = "\n{2,}"
  content = RegEx.Replace(content, "\n")
  RegEx.Pattern = "(\n\r\n){2,}"
  content = RegEx.Replace(content, "\n\r\n")
  RegEx.Pattern = "\r{2,}"
  content = RegEx.Replace(content, "\r")

  Set RegEx = Nothing
  LimitReturns = content
End Function


Function  ConvertReturns(content)
  Dim RegEx
  Set RegEx = New RegExp
  RegEx.IgnoreCase = True
  RegEx.Global = True

  RegEx.Pattern = "\n\r\n"
  content = RegEx.Replace(content, "")
  RegEx.Pattern = "\n"
  content = RegEx.Replace(content, "
")
  RegEx.Pattern = "\r"
  content = RegEx.Replace(content, "")
  RegEx.Pattern = "(){2,}"
  content = RegEx.Replace(content, "")
  RegEx.Pattern = "(

){2,}"
  content = RegEx.Replace(content, "
")
  RegEx.Pattern = "<!"
  content = RegEx.Replace(content, "< !")

  Set RegEx = Nothing
  ConvertReturns = content
End Function


Function  Smilies(content)
  Dim RegEx
  Set RegEx = New RegExp
  RegEx.IgnoreCase = True
  RegEx.Global = True

  RegEx.Pattern = " :em01:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em01.gif"">")
  RegEx.Pattern = " :em02:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em02.gif"">")
  RegEx.Pattern = " :em03:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em03.gif"">")
  RegEx.Pattern = " :em04:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em04.gif"">")
  RegEx.Pattern = " :em05:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em05.gif"">")
  RegEx.Pattern = " :em06:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em06.gif"">")
  RegEx.Pattern = " :em07:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em07.gif"">")
  RegEx.Pattern = " :em08:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em08.gif"">")
  RegEx.Pattern = " :em09:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em09.gif"">")
  RegEx.Pattern = " :em10:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em10.gif"">")
  RegEx.Pattern = " :em11:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em11.gif"">")
  RegEx.Pattern = " :em12:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em12.gif"">")
  RegEx.Pattern = " :em13:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em13.gif"">")
  RegEx.Pattern = " :em14:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em14.gif"">")
  RegEx.Pattern = " :em14:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em15.gif"">")
  RegEx.Pattern = " :em16:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em16.gif"">")
  RegEx.Pattern = " :em17:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em17.gif"">")
  RegEx.Pattern = " :em18:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em18.gif"">")
  RegEx.Pattern = " :em19:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em19.gif"">")
  RegEx.Pattern = " :em20:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em20.gif"">")
  RegEx.Pattern = " :em21:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em21.gif"">")
  RegEx.Pattern = " :em22:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em22.gif"">")
  RegEx.Pattern = " :em23:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em23.gif"">")
  RegEx.Pattern = " :em24:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em24.gif"">")
  RegEx.Pattern = " :em25:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em25.gif"">")
  RegEx.Pattern = " :em26:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em26.gif"">")
  RegEx.Pattern = " :em27:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em27.gif"">")
  RegEx.Pattern = " :em28:"
  content = RegEx.Replace(content, "<IMG SRC=""img/msgface/em28.gif"">")

  Set RegEx = Nothing
  Smilies = content
End Function


Function  UbbCode(content)
  'content = Server.HtmlEncode(content)  '----------
  content = LimitReturns(content)
  content = ConvertReturns(content)
  content = Smilies(content)            '----------

  Dim RegEx
  Set RegEx = New RegExp
  RegEx.IgnoreCase = True
  RegEx.Global = True

  RegEx.Pattern = "(^|\s)(http:\/\/\S+)"
  content = RegEx.Replace(content, "<A href=""$2"" TARGET=_blank>$2</A>")
  RegEx.Pattern = "(^|\s)(www\.\S+)"
  content = RegEx.Replace(content, "<A href=""http://$2"" TARGET=_blank>$2</A>")
  RegEx.Pattern = "(\[URL\])(http|https|ftp)(:\/\/\S+?)(\[\/URL\])"
  content = RegEx.Replace(content, "<A href=""$2$3"" TARGET=_blank>$2$3</A>")
  RegEx.Pattern = "(\[URL\])(\S+?)(\[\/URL\])"
  content = RegEx.Replace(content, "<A href=""http://$2"" TARGET=_blank>$2</A>")
  RegEx.Pattern = "(\[URL=)(http|https|ftp)(:\/\/\S+?)(\])(.+?)(\[\/URL\])"
  content = RegEx.Replace(content, "<A href=""$2$3"" TARGET=_blank>$5</A>")

  RegEx.Pattern = "(\[download=)(http|https|ftp)(:\/\/\S+?)(\])(.+?)(\[\/download\])"
  content = RegEx.Replace(content, "<img src=""img/topic/download.gif""><A href=""$2$3"">$5</A>")
  RegEx.Pattern = "(\[URL=)(\S+?)(\])(.+?)(\[\/URL\])"
  content = RegEx.Replace(content, "<A href=""http://$2"" TARGET=_blank>$4</A>")

  RegEx.Pattern = "(\[EMAIL=)(\S+\@\S+?)(\])(.+?)(\[\/EMAIL\])"
  content = RegEx.Replace(content, "<A href=""mailto2"">$4</A>")
  RegEx.Pattern = "(\[EMAIL\])(\S+\@\S+?)(\[\/EMAIL\])"
  content = RegEx.Replace(content, "<A href=""mailto2"">$2</A>")

  RegEx.Pattern = "(\[code\])(.+?)(\[\/code\])"
  content = RegEx.Replace(content, "<BLOCKQUOTE>代码:<HR><pre>$2</pre><HR></BLOCKQUOTE>")
  RegEx.Pattern = "(\[IMG\])(\S+?)(\[\/IMG\])"  '不准许空格的地址
  content = RegEx.Replace(content, "<IMG SRC=""$2"">")
  RegEx.Pattern = "(\[QUOTE\])(.+?)(\[\/QUOTE\])"
  content = RegEx.Replace(content, "<BLOCKQUOTE>引用:<HR>$2<HR></BLOCKQUOTE>") '如果线条太宽,就要修改
  RegEx.Pattern = "(\[i\])(.+?)(\[\/i\])"
  content = RegEx.Replace(content, "<I>$2</I>")
  RegEx.Pattern = "(\[u\])(.+?)(\[\/u\])"
  content = RegEx.Replace(content, "<u>$2</u>")
  RegEx.Pattern = "(\[b\])(.+?)(\[\/b\])"
  content = RegEx.Replace(content, "<B>$2</B>")
  RegEx.Pattern = "(\[list\])(.+?)(\[\/list\])"
  content = RegEx.Replace(content, "<UL TYPE=SQUARE>$2</UL>")
  RegEx.Pattern = "(\[list=)(A|1)(\])(.+?)(\[\/list\])"
  content = RegEx.Replace(content, "<OL TYPE=$2>$4</OL>")
  RegEx.Pattern = "(\[\*\])"
  content = RegEx.Replace(content, "<LI>")

  RegEx.Pattern = "(\)(.+?)(\[\/font\])"
  content = RegEx.Replace(content, "<font face=""$2"">$4</font>")
  RegEx.Pattern = "(\[size=)(\d+?)(\])(.+?)(\[\/size\])"
  content = RegEx.Replace(content, "<font size=""$2"">$4</font>")
  RegEx.Pattern = "(\[color=)(\S+?)(\])(.+?)(\[\/color\])"
  content = RegEx.Replace(content, "<font color=""$2"">$4</font>")

  RegEx.Pattern = "(\[h1\])(.+?)(\[\/h1\])"
  content = RegEx.Replace(content, "<h1>$2</h1>")
  RegEx.Pattern = "(\[h2\])(.+?)(\[\/h2\])"
  content = RegEx.Replace(content, "<h2>$2</h2>")
  RegEx.Pattern = "(\[h3\])(.+?)(\[\/h3\])"
  content = RegEx.Replace(content, "<h3>$2</h3>")
  RegEx.Pattern = "(\[h4\])(.+?)(\[\/h4\])"
  content = RegEx.Replace(content, "<h4>$2</h4>")
  RegEx.Pattern = "(\[h5\])(.+?)(\[\/h5\])"
  content = RegEx.Replace(content, "<h5>$2</h5>")
  RegEx.Pattern = "(\[h6\])(.+?)(\[\/h6\])"
  content = RegEx.Replace(content, "<h6>$2</h6>")

  RegEx.Pattern = "(\[sup\])(.+?)(\[\/sup\])"
  content = RegEx.Replace(content, "<sup>$2</sup>")
  RegEx.Pattern = "(\[sub\])(.+?)(\[\/sub\])"
  content = RegEx.Replace(content, "<sub>$2</sub>")
  RegEx.Pattern = "(\[center\])(.+?)(\[\/center\])"
  content = RegEx.Replace(content, "<center>$2</center>")
  RegEx.Pattern = "(\[left\])(.+?)(\[\/left\])"
  content = RegEx.Replace(content, "<div align=left>$2</div>")
  RegEx.Pattern = "(\[right\])(.+?)(\[\/right\])"
  content = RegEx.Replace(content, "<div align=right>$2</div>")

  RegEx.Pattern = "(\[pre\])(.+?)(\[\/pre\])"
  content = RegEx.Replace(content, "<pre>$2</pre>")

  RegEx.Pattern = "(\[fly\])(.+?)(\[\/fly\])"
  content = RegEx.Replace(content, "<MARQUEE behavior=alternate scrollAmount=3 width=""90%"">$2</MARQUEE>")
  RegEx.Pattern = "(\[move\])(.+?)(\[\/move\])"
  content = RegEx.Replace(content, "<MARQUEE scrollAmount=3 width=""90%"">$2</MARQUEE>")

  RegEx.Pattern = "(\[sound\])(\S+?)(\[\/sound\])"   '因本地路径有空格,在测试时要把“S”改成"."
  content = RegEx.Replace(content, "<bgsound src=""$2"" border=0><img src=""img/topic/midi.gif"" width=16 height=16 alt=MIDI音乐>")

  RegEx.Pattern = "(\[w\])(http|https|ftp)(:\/\/\S+?)(\[\/w\])"
  content = RegEx.Replace(content, "<IFRAME FRAMEBORDER=1 ALIGN=CENTER width=""100%"" HEIGHT=400 SCROLLING=YES SRC=""$2$3"">
页面:<A href=""$2$3"" target=_blank>点这儿参观</A>")

  RegEx.Pattern = "(\[swf\])(http|https|ftp)(:\/\/\S+?)(\[\/swf\])"
  content = RegEx.Replace(content, "<param name=play value=true><param name=loop value=true><param name=quality value=high><embed src=""$2$3"" quality=high pluginspage=""http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"" type=""application/x-shockwave-flash""></embed>")

  RegEx.Pattern = "(\[flash=)(\d+)(,)(\d+)(\])(http|https|ftp)(:\/\/\S+?)(\[\/flash\])"
  content = RegEx.Replace(content, "<object classid=""clsid27CDB6E-AE6D-11cf-96B8-444553540000"" width=""$2"" height=""$4""><param name=movie value=""$6$7""><param name=play value=true><param name=loop value=true><param name=quality value=high><embed src=""$6$7"" width=""$2"" height=""$4"" play=true loop=true quality=high></embed></object>")

  Set RegEx = Nothing
  UbbCode = content
End Function

%>
说明:上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.





高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|Archiver| 菜头粿 声明:本站所发贴子内容仅代表网友观点,不代表本站立场,严禁一切与国家法律相抵触的内容。感谢关注!
粤icp备19073828

GMT+8, 2026-7-26 17:28 , Processed in 0.091012 second(s), 15 queries .

粤东.中国

© 2007-2026 czczcz.com

快速回复 返回顶部 返回列表