UBB

原创 2004年09月03日 21:39:00

[转]

None.gifFunction UBBCode(ByVal strValue)
None.gif 
'忽略错误
None.gif
 On Error Resume Next
None.gif 
'定义变量
None.gif
 Dim RegExp
None.gif Dim strNewValue
None.gif Set RegExp 
= New RegExp
None.gif RegExp.IgnoreCase 
= True
None.gif RegExp.Global 
= True
None.gif strValue 
= UCase(HTMLEncode(strValue))
None.gif 
None.gif If strValue 
<> "" Then
None.gif  RegExp.Pattern 
= "([URL])(.[^[]*)([/URL])"
None.gif  strNewValue 
= RegExp.Replace(strValue,"<A HREF='HTTP://$2' TARGET='_BLANK'>$2</A>")
None.gif
None.gif  RegExp.Pattern 
= "([URL])(HTTP://.[^[]*)([/URL])"
None.gif  strNewValue 
= RegExp.Replace(strValue,"<A HREF='$2' TARGET='_BLANK'>$2</A>")
None.gif
None.gif  RegExp.Pattern 
= "([URL=(HTTP://.[^[]*)])(.[^[]*)([/URL])"
None.gif  strNewValue 
= RegExp.Replace(strValue,"<A HREF='$2' TARGET='_BLANK'>$3</A>")
None.gif
None.gif  RegExp.Pattern 
= "([URL=(.[^[]*)])(.[^[]*)([/URL])"
None.gif  strNewValue 
= RegExp.Replace(strValue,"<A HREF='HTTP://$2' TARGET='_BLANK'>$3</A>")
None.gif
None.gif  RegExp.Pattern 
= "([IMG])(.[^[]*)([/IMG])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<IMG SRC='$2' BORDER='0'>")
None.gif
None.gif  RegExp.Pattern 
= "([IMG=(HTTP://.[^[]*)])([/IMG])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<IMG SRC='$2' BORDER='0'>")
None.gif
None.gif  RegExp.Pattern 
= "([IMG=(.[^[]*)])([/IMG])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<IMG SRC='HTTP://$2' BORDER='0'>")
None.gif
None.gif  RegExp.Pattern 
= "([SIZE=([0-9]*)])(.[^[]*)([/SIZE])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<FONT SIZE='$2'>$3</FONT>")
None.gif  
None.gif  RegExp.Pattern 
= "([B])(.[^[]*)([/B])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<B>$2</B>")
None.gif
None.gif  RegExp.Pattern 
= "([COLOR=(.[^[]*)])(.[^[]*)([/RED])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<FONT COLOR='$2'>$3</FONT>")
None.gif
None.gif  RegExp.Pattern 
= "([RED])(.[^[]*)([/RED])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<FONT COLOR='#FF0000'>$2</FONT>")
None.gif
None.gif  RegExp.Pattern 
= "([GREEN])(.[^[]*)([/GREEN])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<FONT COLOR='#009900'>$2</FONT>")
None.gif
None.gif  RegExp.Pattern 
= "([BLUE])(.[^[]*)([/BLUE])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<FONT COLOR='#000099'>$2</FONT>")
None.gif
None.gif  RegExp.Pattern 
= "([GRAY])(.[^[]*)([/GRAY])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<FONT COLOR='#999999'>$2</FONT>")
None.gif
None.gif  RegExp.Pattern 
= "([S])(.[^[]*)([/S])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<FONT STYLE='TEXT-DECORATION:LINE-THROUGH'>$2</FONT>")
None.gif
None.gif  RegExp.Pattern 
= "([I])(.[^[]*)([/I])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<I>$2</I>")
None.gif
None.gif  RegExp.Pattern 
= "([U])(.[^[]*)([/U])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<U>$2</U>")
None.gif
None.gif  RegExp.Pattern 
= "([ALIGN=(.[^[]*)])(.[^[]*)([/ALIGN])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<DIV ALIGN='$2'>$3</DIV>")
None.gif
None.gif  RegExp.Pattern 
= "([CENTER])(.[^[]*)([/CENTER])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<CENTER>$2</CENTER>")
None.gif
None.gif  RegExp.Pattern 
= "([EMAIL])(.[^[]*)([/EMAIL])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<A HREF='MAILTO:$2'>$2</A>")
None.gif
None.gif  RegExp.Pattern 
= "([EMAIL=(.[^[]*)])(.[^[]*)([/EMAIL])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<A HREF='MAILTO:$2'>$3</A>")
None.gif
None.gif  RegExp.Pattern 
= "([FLY])(.[^[]*)([/FLY])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<MARQUEE SCROLLAMOUT='3' BEHAVIOR='ALTERNATE' WIDTH='98%'>$2</MARQUEE>")
None.gif
None.gif  RegExp.Pattern 
= "([MOVE])(.[^[]*)([/MOVE])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<MARQUEE SCROLLAMOUT='3'>$2</MARQUEE>")
None.gif
None.gif  RegExp.Pattern 
= "([MP=([0-9]*),([0-9]*)])(.[^[]*)([/MP])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<OBJECT ALIGN='MIDDLE' CLASSID='CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95' CLASS='OBJECT' ID='MEDIAPLAYER' WIDTH='$2' HEIGHT='$3'><PARAM NAME='SHOWSTATUSBAR' VALUE='-1'><PARAM NAME='FILENAME' VALUE='$4'><EMBED TYPE='APPLICATION/X-OLEOBJECT' CODEBASE='HTTP://ACTIVEX.MICROSOFT.COM/ACTIVEX/CONTROLS/MPLAER/EN/NSMP2INF.CAB#VERSION=5,1,52,701' FILENAME=MP SRC='$4'  WIDTH='$2' HEIGHT='$3'></EMBED></OBJECT>")
None.gif
None.gif  RegExp.Pattern 
= "([FLASH])(.[^[]*)([/FLASH])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<OBJECT CODEBASE='HTTP://DOWNLOAD.MACROMEDIA.COM/PUB/SHOCKWAVE/CABS/FLASH/SWFLASH.CAB#VERSION=4,0,2,0' CLASSID='CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000' WIDTH='500' HEIGHT='400'><PARAM NAME='MOVIE' VALUE='$2'><PARAM NAME='QUALITY' VALUE='HIGH'><EMBED SRC='$2' QUALITY='HIGH' PLUGINSPAGE='http://WWW..MACROMEDIA.COM/SHOCKWAVE/DOWNLOAD/INDEX.CGI?P1_PROD_VERSION=SHOCKWAVEFLASH' TYPE='APPLICATION/S-SHOCKWAVE-FLASH' WIDTH='500' HEIGHT='400'>$2</EMBED></OBJECT>")
None.gif
None.gif  RegExp.Pattern 
= "([QT=([0-9]*),([0-9]*)])(.[^[]*)([/QT])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<EMBED SRC='$4' WIDTH='$2' HEIGHT='$3' AUTOPLAY='TRUE' LOOP='FALS'E CONTROLLER='TRUE' PLAYEVERYFRAME='FALSE' CACHE=FALSE SCALE='TOFIT' BGCOLOR='#000000' KIOSKMODE='FALSE' TARGETCACHE='FALSE' PLUGINSPAGE='HTTP://WWW.APPLE.COM/QUICKTIME/'>")
None.gif
None.gif  RegExp.Pattern 
= "([RM=([0-9]*),([0-9]*)])(.[^[]*)([/RM])"
None.gif  strNewValue 
= RegExp.Replace(strNewValue,"<OBJECT CLASSID='CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA' CLASS='OBJECT' ID='RAOCX' WIDTH='$2' HEIGHT='$3'><PARAM NAME='SRC' VALUE='$4'><PARAM NAME='CONSOLE' VALUE='CLIP1'><PARAM NAME='CONTROLS' VALUE='IMAGEWINDOW'><PARAM NAME='AUTOSTART' VALUE='TRUE'></OBJECT><BR><OBJECT CLASSID='CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA' HEIGHT='32' ID='VIDEO2' WIDTH='$3'><PARAM NAME='SRC' VALUE='$4'><PARAM NAME='AUTOSTART' VALUE='-1'><PARAM NAME='CONTROLS' VALUE='CONTROLPANEL'><PARAM NAME='CONSOLE' VALUE='CLIP1'></OBJECT>")
None.gif End If
None.gif UBBCode 
= LCase(strNewValue)
None.gif
None.gif 
'输出错误
None.gif
 If Err.Number>0 Then
None.gif  Response.Write Err.Description
None.gif  Response.End
None.gif End If
None.gifEnd Function
None.gif
None.gif
'----------------------------------------------------------'
None.gif
'-------------------HTMLEncode Function--------------------'
None.gif
'----------------------------------------------------------'
None.gifFunction HTMLEncode(ByVal strValue)
None.gif 
'忽略错误
None.gif
 On Error Resume Next
None.gif 
'定义变量
None.gif
 Dim strNewValue
None.gif If strValue 
<> "" Then
None.gif  strValue 
= Server.HTMLEncode(strValue)
None.gif  strNewValue 
= Replace(strValue,"<","&lt;")
None.gif  strNewValue 
= Replace(strNewValue,">","&gt;")
None.gif  strNewValue 
= Replace(strNewValue,"'","&#39;")
None.gif  strNewValue 
= Replace(strNewValue,"""","&quot;")
None.gif  strNewValue 
= Replace(strNewValue,vbCrLf,"<br>")
None.gif  strNewValue 
= Replace(strNewValue," ","&nbsp;")
None.gif End If
None.gif HTMLEncode 
= strNewValue
None.gif
None.gif 
'输出错误
None.gif
 If Err.Number>0 Then
None.gif  Response.Write Err.Description
None.gif  Response.End
None.gif End If
None.gifEnd Function
None.gif
None.gif[CODE]
None.gif
None.gif使用的时候,在你的textarea中输入ubb代码,那么,在处理页面直接使用
None.gif
None.gifcontent 
= UBBCode(Request.Form("content"))就可以咯~
None.gif
None.gif

使用Objective-C处理UBB标签

有这么个业务需求,抽象出来如下: 展示一条文案,比如“某某人做了某某事”,这里的“某某人”是一个用户的昵称;用户可以修改昵称,修改过后再看之前的文案,“某某人”这个昵称需要跟着变化;文案数据...
  • jasonblog
  • jasonblog
  • 2014年05月23日 10:06
  • 3015

我的php学习笔记(三十六)PHP中开发自己的UBB代码

什么是UBB代码 UBB代码是HTML的一个变种,是Ultimate Bulletin Board (国外一个BBS程序,国内也有不少地方使用这个程序)采用的一种特殊的TAG。UBB代码很简单,虽然...
  • yipiankongbai
  • yipiankongbai
  • 2013年04月21日 00:56
  • 1708

【UBB】UBB代码简介

http://baike.baidu.com/link?url=JEDKx14OqvdvpNZjsK4As4er1ey-f-D9BDJ0jncLop0pwS8aCH-bdOfWT7u9N1mBGU9c...
  • horsttnann
  • horsttnann
  • 2014年04月09日 10:12
  • 434

一个.net实现的ubb类

using System; using System.Text.RegularExpressions; namespace ubb.Components {  ///  /// UBB 的摘要说明...
  • jackyrongvip
  • jackyrongvip
  • 2013年07月02日 09:26
  • 850

栈实现HTML和UBB的转换

之前做论坛的时候曾经傻b呵呵的用环视正则做的,原来栈就可以啊。 这个例子不实现细节,也不完成什么功能,只是说明栈可以处理前后匹配,上代码。 package com.test; import ...
  • leichenlei
  • leichenlei
  • 2017年07月20日 15:15
  • 39

猿题库iOS客户端的技术细节(三):基于CoreText的排版引擎

前言 本人今年主要在负责猿题库iOS客户端的开发,本文旨在通过分享猿题库iOS客户端开发过程中的技术细节,达到总结和交流的目的。 这是本技术分享系列文章的第三篇。本文涉及的技术细节是:基于Core...
  • u010944926
  • u010944926
  • 2013年11月06日 11:34
  • 1866

ASP中,UBB代码中,为何Quote不能一段一段地进行引用呢?

UBB.asp代码如下: Const MaxLoopcount=50 function ubb(bod)  'h=2为转换帖,h=1为转换签名 Set re=new RegExp  '声明正则表...
  • banzongwen3744
  • banzongwen3744
  • 2017年01月02日 08:07
  • 117

ASP中,UBB代码中,为何Quote不能一段一段地进行引用呢?

UBB.asp代码如下: Const MaxLoopcount=50 function ubb(bod)  'h=2为转换帖,h=1为转换签名 Set re=new RegExp  '声明正则表...
  • zanyeping4763
  • zanyeping4763
  • 2016年12月31日 12:20
  • 89

Html转UBB的JS版本【寻求更好的方案】

Html转UBB的JS版本【寻求更好的方案】
  • pengzhen8805
  • pengzhen8805
  • 2013年11月05日 21:12
  • 587

请教谁有这个UBB可识读出来的网页文本编辑框,即可视化编辑与HTML编辑两种类别,但要求可让UBB能识别到?谢谢!

请教谁有这个UBB可识读出来的网页文本编辑框,即可视化编辑与HTML编辑两种类别,但要求可让UBB能识别到?谢谢! 我的UBB代码是:      //检查图片大小是否大于预期大小, 大...
  • houtaocheng9962
  • houtaocheng9962
  • 2017年01月02日 11:09
  • 117
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UBB
举报原因:
原因补充:

(最多只允许输入30个字)