zoukankan      html  css  js  c++  java
  • 转换UBB代码得函数

     1public static string FormatUbb(string text)
     2        {    
     3            
     4            text=Regex.Replace(text,"\\[br\\]","<br/>",RegexOptions.IgnoreCase);
     5            /*title*/
     6            text=Regex.Replace(text,"\\[title\\](.*?)\\[/title\\]","<strong>$1</strong><br>",RegexOptions.IgnoreCase);
     7            /* image*/
     8            text=Regex.Replace(text,"\\[img\\](.*?)\\[/img\\]","<br/><a target='top' href=\"$1\"/><img border=0 alt='点击查看大图'  onload='if(this.width>600){this.width=600;this.height=this.height*this.width/600}' src=\"$1\"/></a><br/>",RegexOptions.IgnoreCase);
     9            text=Regex.Replace(text,"\\[img==*([0-9]*),*([0-9]*)\\](.*?)\\[/img\\]","<br/><a target='top' href=\"$3\"/><img border=0 alt='点击查看大图' width=$1 height=$2 src=\"$3\"/></a><br/>",RegexOptions.IgnoreCase);
    10            /*mp3*/
    11            text=Regex.Replace(text,"\\[mp3\\](.*?)\\[/mp3\\]","<br><object id=nstv classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6 width=280 height=60 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701standby=Loading Microsoft? Windows Media? Player components type=application/x-oleobject><param name=URL value=$1><PARAM NAME=UIMode value=full><PARAM NAME=AutoStart value=true><PARAM NAME=Enabled value=true><PARAM NAME=enableContextMenu value=false></object><br>",RegexOptions.IgnoreCase);
    12            /* media*/
    13            text=Regex.Replace(text,"\\*","*;",RegexOptions.IgnoreCase);
    14            text=Regex.Replace(text,"\\[(\\/)?(MP(=([0-9]+),([0-9]+))?)\\]","*$1$2*",RegexOptions.IgnoreCase);
    15            text=Regex.Replace(text,"\\*MP=([0-9]+),([0-9]+)\\*(.[^\\*]*\\.?(|avi|asx|wpl|aif|aifc|aiff|au|asf|mpeg|mpg|m1v|mp2|mpv2|mp2v|mpa|mid|midi|rmi|snd|wma|wmv|wm|wav|wax|w3u|wpl|mp3))\\*\\/MP\\*",
    16                "<br><object align=middle classid=clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=object id=mediaplayer width=$1 height=$2 ><param name=showstatusbar value=-1><param name=filename value=$3><embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701 flename=mp src=$3 width=$1 height=$2></embed></object><br>",RegexOptions.IgnoreCase);
    17            text=Regex.Replace(text,"\\*(\\/)?(MP(=([0-9]+),([0-9]+))?)\\*","[$1$2]",RegexOptions.IgnoreCase);
    18            text=Regex.Replace(text,"\\*;","*",RegexOptions.IgnoreCase);
    19            /* relone*/
    20            text=Regex.Replace(text,"\\*","*;",RegexOptions.IgnoreCase);
    21            text=Regex.Replace(text,"\\[(\\/)?(RM(=([0-9]+),([0-9]+))?)\\]","*$1$2*",RegexOptions.IgnoreCase);
    22            text=Regex.Replace(text,"\\*RM=([0-9]+),([0-9]+)\\*(.[^\\*]*\\.?(|rm|rma|ra|ram|rmm|rmvb|au|aif|mid|mp3|wav|wov|wma|smi|smil|m3u|mov|mpg|mpeg))\\*\\/RM\\*",
    23                "<br><OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=$2 id=video1 width=$1 VIEWASTEXT><param name=_ExtentX value=5503><param name=_ExtentY value=1588><param name=AUTOSTART value=-1><param name=SHUFFLE value=0><param name=PREFETCH value=0><param name=NOLABELS value=0><param name=SRC value=$3><param name=CONTROLS value=Imagewindow,StatusBar,ControlPanel><param name=CONSOLE value=RAPLAYER><param name=LOOP value=0><param name=NUMLOOP value=0><param name=CENTER value=0><param name=MAINTAINASPECT value=0><param name=BACKGROUNDCOLOR value=#000000></OBJECT><br>",RegexOptions.IgnoreCase);
    24            text=Regex.Replace(text,"\\*(\\/)?(RM(=([0-9]+),([0-9]+))?)\\*","[$1$2]",RegexOptions.IgnoreCase);
    25            text=Regex.Replace(text,"\\*;","*",RegexOptions.IgnoreCase);
    26            /* flash*/
    27            text=Regex.Replace(text,"(\\[FLASH\\])(.*?)(\\[\\/FLASH\\])","<br><OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=400 height=300><PARAM NAME=movie VALUE=$2><PARAM NAME=quality VALUE=high><embed src=$2 quality=high pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width=400 height=300>$2</embed></OBJECT><br>",RegexOptions.IgnoreCase);
    28            text=Regex.Replace(text,"(\\[FLASH=*([0-9]*),*([0-9]*)\\])(.*?)(\\[\\/FLASH\\])","<a href=$4 TARGET=_blank><IMG SRC=http://www.newasp.net/Article/web/Dreamweaver/2005/pic/swf.gif border=0 alt=点击开新窗口欣赏该FLASH动画!> [全屏欣赏]</a><br><br><OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=$2 height=$3><PARAM NAME=movie VALUE=$4><PARAM NAME=quality VALUE=high><param name=menu value=false><embed src=$4 quality=high menu=false pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width=$2 height=$3>$4</embed></OBJECT>",RegexOptions.IgnoreCase);
    29            /* url*/
    30            text=Regex.Replace(text,"(\\[URL\\])(.*?)(\\[\\/URL\\])","<A HREF=$2 TARGET=_blank>$2</A>",RegexOptions.IgnoreCase);
    31            text=Regex.Replace(text,"(\\[URL=(.[^\\[]*)\\])(.*?)(\\[\\/URL\\])","<A HREF=$2 TARGET=_blank>$3</A>",RegexOptions.IgnoreCase);
    32            /* email*/
    33            text=Regex.Replace(text,"(\\[EMAIL\\])(.*?)(\\[\\/EMAIL\\])","<A HREF=\"mailto:$2\">$2</A>",RegexOptions.IgnoreCase);
    34            text=Regex.Replace(text,"(\\[EMAIL=(.[^\\[]*)\\])(.*?)(\\[\\/EMAIL\\])","<A HREF=\"mailto:$2\" TARGET=_blank>$3</A>",RegexOptions.IgnoreCase);
    35            /* code */
    36            text=Regex.Replace(text,"\\[code\\](<br \\/>|&nbsp;)*","<span style='position:relative;top:7px' class='bg1'>本帖相关代码如下</span><table width='95%' class='grid' cellpadding='0' cellspacing='0'><tr><td style='padding:10px 8px 8px 8px'>",RegexOptions.IgnoreCase);
    37            text=Regex.Replace(text,"(<br \\/>|&nbsp;)*\\[\\/code\\]","</td></tr></table>",RegexOptions.IgnoreCase);
    38            /* color*/
    39            text=Regex.Replace(text,"(\\[color=(.[^\\[]*)\\])(.*?)(\\[\\/color\\])","<font color=$2>$3</font>",RegexOptions.IgnoreCase);
    40            /* quote*/            
    41            //text=Regex.Replace(text,"\\[quote user=\"(.*?)\"\\](.*?)\\[/quote\\]","<table title=\"引用\" width='95%' class='quote' cellpadding='0' cellspacing='0'><tr><td style='padding:10px 8px 8px 8px'>$1<td></tr><tr><td style='padding:10px 8px 8px 8px'>$2</td></tr></table><br>",RegexOptions.IgnoreCase);    
    42        
    43            text=Regex.Replace(text,"\\[quote user=''(.*?)''\\](<br \\/>|&nbsp;)*","<table  width='95%' class='quote' cellpadding='0' cellspacing='0' border='0'><caption align=\"left\">引用</caption><tr><td style='padding:10px 8px 8px 8px'><img src=\"/images/dreams/icon/icon-quote.gif\" border=\"0\" align=\"absmiddle\">    $1<td></tr><tr><td style='padding:10px 8px 8px 8px'>",RegexOptions.IgnoreCase);    
    44            text=Regex.Replace(text,"\\[quote user=\"(.*?)\"\\](<br \\/>|&nbsp;)*","<table  width='95%' class='quote' cellpadding='0' cellspacing='0' border='0'><caption align=\"left\">引用</caption><tr><td style='padding:10px 8px 8px 8px'><img src=\"/images/dreams/icon/icon-quote.gif\" border=\"0\" align=\"absmiddle\">    $1<td></tr><tr><td style='padding:10px 8px 8px 8px'>",RegexOptions.IgnoreCase);    
    45            text=Regex.Replace(text,"(<br \\/>|&nbsp;)*\\[/quote\\]","</td></tr></table><br>",RegexOptions.IgnoreCase);            
    46            /* underline */
    47            text=Regex.Replace(text,"(\\[i\\])(.*?)(\\[\\/i\\])","<i>$2</i>",RegexOptions.IgnoreCase);
    48            /* itatic */
    49            text=Regex.Replace(text,"(\\[u\\])(.*?)(\\[\\/u\\])","<u>$2</u>",RegexOptions.IgnoreCase);
    50            /* bold */
    51            text=Regex.Replace(text,"(\\[b\\])(.*?)(\\[\\/b\\])","<b>$2</b>",RegexOptions.IgnoreCase);
    52            /* line */
    53            text=Regex.Replace(text,"\\[line\\/\\]","<hr size='1' noshade='noshade' />",RegexOptions.IgnoreCase);
    54            text=Regex.Replace(text,"\\[line\\]\\s*(\\d{1})\\s*,\\s*((#[A-Fa-f0-9]{3})|(#[A-Fa-f0-9]{6})|[A-Za-z]{3,12})\\s*\\[\\/line\\]","<hr size='$1' style='border:1px $2 solid' color='$2' noshade='noshade' />",RegexOptions.IgnoreCase);
    55            /* font size */
    56            text=Regex.Replace(text,"(\\[size=1\\])(.*?)(\\[\\/size\\])","<font size=1>$2</font>",RegexOptions.IgnoreCase);
    57            text=Regex.Replace(text,"(\\[size=2\\])(.*?)(\\[\\/size\\])","<font size=2>$2</font>",RegexOptions.IgnoreCase);
    58            text=Regex.Replace(text,"(\\[size=3\\])(.*?)(\\[\\/size\\])","<font size=3>$2</font>",RegexOptions.IgnoreCase);
    59            text=Regex.Replace(text,"(\\[size=4\\])(.*?)(\\[\\/size\\])","<font size=4>$2</font>",RegexOptions.IgnoreCase);
    60            text=Regex.Replace(text,"(\\[size=5\\])(.*?)(\\[\\/size\\])","<font size=5>$2</font>",RegexOptions.IgnoreCase);
    61            text=Regex.Replace(text,"(\\[size=6\\])(.*?)(\\[\\/size\\])","<font size=6>$2</font>",RegexOptions.IgnoreCase);
    62            text=Regex.Replace(text,"\\[size=([+|-]?[0-7])\\](.*?)(\\[\\/size\\])","<font size=$1>$2</font>",RegexOptions.IgnoreCase);
    63            /* center */
    64            text=Regex.Replace(text,"(\\[center\\])(.*?)(\\[\\/center\\])","<center>$2</center>",RegexOptions.IgnoreCase);
    65            /* left */
    66            text=Regex.Replace(text,"(\\[left\\])(.*?)(\\[\\/left\\])","<p align=left>$2</p>",RegexOptions.IgnoreCase);
    67            /* right */
    68            text=Regex.Replace(text,"(\\[right\\])(.*?)(\\[\\/right\\])","<p align=right>$2</p>",RegexOptions.IgnoreCase);
    69            text=Regex.Replace(text,"(\\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\\])(.*?)(\\[\\/GLOW\\])","<div style='$2;filter:glow(color=$3,strength=$4)'>$5</div>",RegexOptions.IgnoreCase);
    70            text=Regex.Replace(text,"(\\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\\])(.*?)(\\[\\/SHADOW\\])","<div style='$2;filter:shadow(color=$3,strength=$4)'>$5</div>",RegexOptions.IgnoreCase);
    71            /* fly */
    72            text=Regex.Replace(text,"(\\[fly\\])(.*?)(\\[/fly\\])","<marquee behavior='scroll'speed='1' onmouseover='stop()' onmouseout='start()'>$2</marquee>",RegexOptions.IgnoreCase);
    73            /* move*/
    74            text=Regex.Replace(text,"(\\[move\\])(.*?)(\\[/move\\])","<marquee scrollamount=3>$2</marquee>",RegexOptions.IgnoreCase);
    75            /* face*/
    76            text=Regex.Replace(text,"(\\[face=(.*?)])(.*?)(\\[/face\\])","<FONT face=$2>$3</FONT>",RegexOptions.IgnoreCase);
    77            /* bgsound*/
    78            text=Regex.Replace(text,"(\\[sound\\])(.*?)(\\[/sound\\])","<bgsound src=$2 loop=3>",RegexOptions.IgnoreCase);
    79            return text;
    80        }
  • 相关阅读:
    jmeter的beanshell脚本编写
    基于 Flask 的简易 Mock 平台
    mock-server
    linux环境jmeter- java环境安装配置
    服务器监控环境搭建 telegraf+influxdb+grafana框架
    聚类算法:凝聚层次聚类
    python中cursor操作数据库
    python中if __name__ == '__main__': 的解析
    python连接mysql数据库
    Python3.5,flask在命令行执行 [python] view plain copy import pymysql 连接mysql数据库MySQLdb
  • 原文地址:https://www.cnblogs.com/jillzhang/p/373126.html
Copyright © 2011-2022 走看看