<% @ Import namespace="System.Text.RegularExpressions" %>
<% @ validateRequest=false %>
<script language="vb" runat="server">
class ubbs
public vstr as string
public Function ubb() as string
Dim objregex As Regex
'UBB转换
'url
objregex = New Regex("/[url/](http|https|ftp):////(.[^/[]*)/[//url/]")
vstr = objregex.Replace(vstr, "<a href=""$1://$2"" TARGET=""_blank"">$1://$2</a>")
objregex = New Regex("/[URL/](http|https|ftp):////(.[^/[]*)/[//URL/]")
vstr = objregex.Replace(vstr, "<a href=""$1://$2"" TARGET=""_blank"">$1://$2</a>")
'EMAIL
objregex = New Regex("(/[email/])(/S+/@.[^/[]*)(/[//email/])")
vstr = objregex.Replace(vstr, "<A HREF=""$2mailto:$2"">$2</A>")
objregex = New Regex("(/[email=(/S+/@.[^/[]*)/])(.[^/[]*)(/[//email/])")
vstr = objregex.Replace(vstr, "<A HREF=""mailto:$2"" TARGET=_blank>$3</A>")
objregex = New Regex("(/[EMAIL/])(/S+/@.[^/[]*)(/[//EMAIL/])")
vstr = objregex.Replace(vstr, "<A HREF=""$2mailto:$2"">$2</A>")
objregex = New Regex("(/[email=(/S+/@.[^/[]*)/])(.[^/[]*)(/[//email/])")
vstr = objregex.Replace(vstr, "<A HREF=""mailto:$2"" TARGET=_blank>$3</A>")
'IMG
objregex = New Regex("/[img/](http|https|ftp):////(.[^/[]*)/[//img/]")
vstr = objregex.Replace(vstr, "<br/><a onfocus=this.blur() href=""$1://$2"" target=_blank><IMG SRC=""$1://$2"" border=0 alt=按此在新窗口浏览图片 onload=""javascript:if(this.width>screen.width-333)this.width=screen.width-333""></a>")
objregex = New Regex("/[IMG/](http|https|ftp):////(.[^/[]*)/[//IMG/]")
vstr = objregex.Replace(vstr, "<br/><a onfocus=this.blur() href=""$1://$2"" target=_blank><IMG SRC=""$1://$2"" border=0 alt=按此在新窗口浏览图片 onload=""javascript:if(this.width>screen.width-333)this.width=screen.width-333""></a>")
'COLOR
objregex = New Regex("/[color=(.[^/[]*)/](.[^/[]*)/[//color/]")
vstr = objregex.Replace(vstr, "<font color=""$1"">$2</font>")
objregex = New Regex("/[COLOR=(.[^/[]*)/](.[^/[]*)/[//COLOR/]")
vstr = objregex.Replace(vstr, "<font color=""$1"">$2</font>")
'u
objregex = New Regex("/[u/](.*)/[//u/]")
vstr = objregex.Replace(vstr, "<u>$1</u>")
objregex = New Regex("/[U/](.*)/[//U/]")
vstr = objregex.Replace(vstr, "<u>$1</u>")
'B
objregex = New Regex("/[b/](.*)/[//b/]")
vstr = objregex.Replace(vstr, "<b>$1</b>")
objregex = New Regex("/[B/](.*)/[//B/]")
vstr = objregex.Replace(vstr, "<b>$1</b>")
'I
objregex = New Regex("/[i/](.*)/[//i/]")
vstr = objregex.Replace(vstr, "<i>$1</i>")
objregex = New Regex("/[I/](.*)/[//I/]")
vstr = objregex.Replace(vstr, "<i>$1</i>")
'FLY
objregex = New Regex("/[fly/](.*)/[//fly/]")
vstr = objregex.Replace(vstr, "<marquee width=""80%"" behavior=""alternate"" scrollamount=""3"">$1</marquee>")
objregex = New Regex("/[FLY/](.*)/[//FLY/]")
vstr = objregex.Replace(vstr, "<marquee width=""80%"" behavior=""alternate"" scrollamount=""3"">$1</marquee>")
'SHADOW
objregex = New Regex("/[shadow=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)/](.[^/[]*)/[//shadow]")
vstr = objregex.Replace(vstr, "<table width=$1 style=""filter:shadow(color=$2, strength=$3)"">$4</table>")
objregex = New Regex("/[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)/](.[^/[]*)/[//SHADOW]")
vstr = objregex.Replace(vstr, "<table width=$1 style=""filter:shadow(color=$2, strength=$3)"">$4</table>")
'CODE
objregex = New Regex("/[code/](.*)/[//code/]")
vstr = objregex.Replace(vstr, "<table width=""80%"" border=""0"" cellpadding=""2"" cellspacing=""0"" bgcolor=""#99FFCC"" style=""border:1px solid #000000;font-size:9pt;font-family:tahoma""><tr><td>$1</td></tr></table>")
objregex = New Regex("/[CODE/](.*)/[//CODE/]")
vstr = objregex.Replace(vstr, "<table width=""80%"" border=""0"" cellpadding=""2"" cellspacing=""0"" bgcolor=""#99FFCC"" style=""border:1px solid #000000;font-size:9pt;font-family:tahoma""><tr><td>$1</td></tr></table>")
'glow
objregex = New Regex("/[glow=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)/](.[^/[]*)/[//glow]")
vstr = objregex.Replace(vstr, "<table width=$1 style=""filter:glow(color=$2, strength=$3)"">$4</table>")
objregex = New Regex("/[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)/](.[^/[]*)/[//GLOW]")
vstr = objregex.Replace(vstr, "<table width=$1 style=""filter:glow(color=$2, strength=$3)"">$4</table>")
'move
objregex = New Regex("(/[move/])(.*)(/[//move/])")
vstr = objregex.Replace(vstr, "<marquee scrollamount=3>$2</marquee>")
objregex = New Regex("(/[MOVE/])(.*)(/[//MOVE/])")
vstr = objregex.Replace(vstr, "<marquee scrollamount=3>$2</marquee>")
'center
objregex = New Regex("(/[center/])(.[^/[]*)(/[//center/])")
vstr = objregex.Replace(vstr, "<center>$2</center>")
objregex = New Regex("(/[CENTER/])(.[^/[]*)(/[//CENTER/])")
vstr = objregex.Replace(vstr, "<center>$2</center>")
'flash
objregex = New Regex("(/[flash/])(.[^/[]*)(/[//flash/])")
vstr = objregex.Replace(vstr, "<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/x-shockwave-flash' width=500 height=400>$2</embed></OBJECT>")
objregex = New Regex("(/[FLASH/])(.[^/[]*)(/[//FLASH/])")
vstr = objregex.Replace(vstr, "<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/x-shockwave-flash' width=500 height=400>$2</embed></OBJECT>")
'quote
objregex = New Regex("(/[quote/])(.*)(/[//quote/])")
vstr = objregex.Replace(vstr, "<TABLE cellSpacing=1 cellPadding=10 width=100% bgColor=#000000 border=0><TR><TD bgColor=#ffffff>$2</td></tr></table><br/>")
objregex = New Regex("(/[QUOTE/])(.*)(/[//QUOTE/])")
vstr = objregex.Replace(vstr, "<TABLE cellSpacing=1 cellPadding=10 width=100% bgColor=#000000 border=0><TR><TD bgColor=#ffffff>$2</td></tr></table><br/>")
'html
objregex = New Regex("(/[html/])(.[^/[]*)(/[//html/])")
vstr = objregex.Replace(vstr, "<table width='100%' border='0' cellspacing='0' cellpadding='6' bgcolor=''><td><b>以下内容为程序代码:</b><br/>$2</td></table>")
objregex = New Regex("(/[HTML/])(.[^/[]*)(/[//HTML/])")
vstr = objregex.Replace(vstr, "<table width='100%' border='0' cellspacing='0' cellpadding='6' bgcolor=''><td><b>以下内容为程序代码:</b><br/>$2</td></table>")
'face
objregex = New Regex("(/[face=(.[^/[]*)/])(.[^/[]*)(/[//face/])")
vstr = objregex.Replace(vstr, "<font FACE=$2>$3</font>")
objregex = New Regex("(/[FACE=(.[^/[]*)/])(.[^/[]*)(/[//FACE/])")
vstr = objregex.Replace(vstr, "<font FACE=$2>$3</font>")
'size
objregex = New Regex("(/[size=1/])(.[^/[]*)(/[//size/])")
vstr = objregex.Replace(vstr, "<font size=1>$2</font>")
objregex = New Regex("(/[size=2/])(.[^/[]*)(/[//size/])")
vstr = objregex.Replace(vstr, "<font size=2>$2</font>")
objregex = New Regex("(/[size=3/])(.[^/[]*)(/[//size/])")
vstr = objregex.Replace(vstr, "<font size=3>$2</font>")
objregex = New Regex("(/[size=4/])(.[^/[]*)(/[//size/])")
vstr = objregex.Replace(vstr, "<font size=4>$2</font>")
objregex = New Regex("(/[size=5/])(.[^/[]*)(/[//size/])")
vstr = objregex.Replace(vstr, "<font size=5>$2</font>")
objregex = New Regex("(/[SIZE=1/])(.[^/[]*)(/[//SIZE/])")
vstr = objregex.Replace(vstr, "<font size=1>$2</font>")
objregex = New Regex("(/[SIZE=2/])(.[^/[]*)(/[//SIZE/])")
vstr = objregex.Replace(vstr, "<font size=2>$2</font>")
objregex = New Regex("(/[SIZE=3/])(.[^/[]*)(/[//SIZE/])")
vstr = objregex.Replace(vstr, "<font size=3>$2</font>")
objregex = New Regex("(/[SIZE=4/])(.[^/[]*)(/[//SIZE/])")
vstr = objregex.Replace(vstr, "<font size=4>$2</font>")
objregex = New Regex("(/[SIZE=5/])(.[^/[]*)(/[//SIZE/])")
vstr = objregex.Replace(vstr, "<font size=5>$2</font>")
'自动识别URL
objregex = New Regex("/[url=(http:////.[^/[]*)/](.[^/[]*)(/[//url/])")
vstr = objregex.Replace(vstr, "<a href=""$1"" target=""_blank"">$2</a>")
objregex = New Regex("^(http://[A-Za-z0-9/./=/?%/-&_~`@':+!]+)")
vstr = objregex.Replace(vstr, "<a href=""$1"" target=""_blank"">$1</a>")
objregex = New Regex("(http://[A-Za-z0-9/./=/?%/-&_~`@':+!]+)$")
vstr = objregex.Replace(vstr, "<a target=_blank href=$1>$1</a>")
objregex = New Regex("[^>=""](http://[A-Za-z0-9/./=/?%/-&_~`@':+!]+)")
vstr = objregex.Replace(vstr, "<a target=_blank href=$1>$1</a>")
objregex = New Regex("/[URL=(http:////.[^/[]*)/](.[^/[]*)(/[//URL/])")
vstr = objregex.Replace(vstr, "<a href=""$1"" target=""_blank"">$2</a>")
objregex = New Regex("^(HTTP://[A-Za-z0-9/./=/?%/-&_~`@':+!]+)")
vstr = objregex.Replace(vstr, "<a href=""$1"" target=""_blank"">$1</a>")
objregex = New Regex("(HTTP://[A-Za-z0-9/./=/?%/-&_~`@':+!]+)$")
vstr = objregex.Replace(vstr, "<a target=_blank href=$1>$1</a>")
objregex = New Regex("[^>=""](HTTP://[A-Za-z0-9/./=/?%/-&_~`@':+!]+)")
vstr = objregex.Replace(vstr, "<a target=_blank href=$1>$1</a>")
'完成,还可以自己扩展
ubb = vstr
End Function
end class
sub enter_click(sender as object,e as eventargs)
dim aaa as new ubbs
aaa.vstr=textbox1.text
label1.text = aaa.vstr
label2.text = aaa.ubb()
end sub
</script>
<HTML>
<HEAD>
<title>ubb示例</title>
</HEAD>
<body MS_POSITIONING="GridLayout">
<TABLE height="599" cellSpacing="0" cellPadding="0" width="442" border="0" ms_2d_layout="TRUE">
<TR vAlign="top">
<TD width="442" height="599">
<form id="Form1" method="post" runat="server">
<TABLE height="425" cellSpacing="0" cellPadding="0" width="587" border="0" ms_2d_layout="TRUE">
<TR vAlign="top">
<TD width="32" height="64"></TD>
<TD width="24"></TD>
<TD width="128"></TD>
<TD width="136"></TD>
<TD width="267"></TD>
</TR>
<TR vAlign="top">
<TD colSpan="2" height="192"></TD>
<TD colSpan="3">
<asp:TextBox id="TextBox1" runat="server" Height="168px" Width="360px" Columns="50" Rows="5"></asp:TextBox></TD>
</TR>
<TR vAlign="top">
<TD colSpan="3" height="32"></TD>
<TD colSpan="2">
<asp:Button id="enter" onclick="enter_click" runat="server" Text="写好了"></asp:Button></TD>
</TR>
<TR vAlign="top">
<TD height="137"></TD>
<TD colSpan="3">
<asp:Label id="Label1" runat="server" Width="224px" Height="136px">Label</asp:Label></TD>
<TD>
<asp:Label id="Label2" runat="server" Height="128px" Width="265px">Label</asp:Label></TD>
</TR>
</TABLE>
</form>
</TD>
</TR>
</TABLE>
</body>
</HTML>
浙公网安备 33010602011771号