<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    鄧華

    BlogJava 聯系 聚合 管理
      48 Posts :: 0 Stories :: 149 Comments :: 0 Trackbacks
    ? import ?java.util.regex. * ; // 導入正則表達式包中的類
    ?
    /**
    ?*??使網頁支持ubbcode.
    ?*?
    @author ?shanwei
    ?*?
    @version ?1.0
    ?
    */
    ?
    public ? final ? class ?Ubbcode?{
    ?
    ????
    private ? static ? final ?String?ImagePath? = ? " images/ " ;? // 定義圖片路徑
    ???? private ? static ? final ?String?emotImagePath? = ? " images/emot/ " ;
    ?
    ????
    /**
    ?????*?@description?轉換代碼,使之支持ubbcode.
    ?????*?
    @param ?strContent?轉換前的代碼.
    ?????*?
    @return ?result?轉換后的內容.
    ?????
    */
    ????
    public ? static ?String?UBBCode(String?strContent)?{? //
    ????????strContent? = ?dvHTMLEncode(strContent);
    ????????strContent?
    = ?FilterJS(strContent);
    ????????String?re;
    ????????
    // re.IgnoreCase?=true
    ????????
    // re.Global=True
    ????????Pattern?pattern? = ? null ;? //
    ????????Matcher?matcher? = ? null ;
    ????????
    // 轉換IMG
    ????????re? = ? " \\[IMG\\](http|https|ftp):\\/\\/(.[^\\[]*)\\[\\/IMG\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <?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>");
    ????????
    // 轉換UPLOAD
    ????????re? = ? " \\[UPLOAD=(gif|jpg|jpeg|bmp|png)\\](.[^\\[]*)(gif|jpg|jpeg|bmp|png)\\[\\/UPLOAD\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <br><IMG?SRC=\ "" ?+?ImagePath?+? " $ 1 .gif?\ " ?border=0>此主題相關圖片如下:<br><A?HREF=\ " $ 2 $ 1 \ " ?TARGET=_blank>?<IMG?SRC=\ " $ 2 $ 1 \ " ?border=0?alt=按此在新窗口瀏覽圖片?onload=\ " javascript: if ?( this .width > screen.width - 333 ) this .width = screen.width - 333 \ " ></A> " );
    ????????re?
    = ? " \\[UPLOAD=(.[^\\[]*)\\](.[^\\[]*)\\[\\/UPLOAD\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <br><IMG?SRC=\ "" ?+?ImagePath?+
    ???????????????????????????????????????? " $1.gif\ " ?border = 0 > ? < a?href = \ " $2\ " > 點擊瀏覽該文件 </ a > " );
    ???????? // 轉換DIR
    ????????re? = ? " \\[DIR=*([0-9]*),*([0-9]*)\\](.[^\\[]*)\\[\\/DIR] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <object?classid=clsid:166B1BCA-3F9C-11CF-8075-444553540000?codebase=http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=7,0,2,0?width=$1?height=$2><param?name=src?value=$3><embed?src=$3?pluginspage=http://www.macromedia.com/shockwave/download/?width=$1?height=$2></embed></object> " );
    ????????
    // 轉換QT
    ????????re? = ? " \\[QT=*([0-9]*),*([0-9]*)\\](.[^\\[]*)\\[\\/QT] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <embed?src=$3?width=$1?height=$2?autoplay=true?loop=false?controller=true?playeveryframe=false?cache=false?scale=TOFIT?bgcolor=#000000?kioskmode=false?targetcache=false?pluginspage=http://www.apple.com/quicktime/>; " );
    ????????
    // 轉換MP
    ????????re? = ? " \\[MP=*([0-9]*),*([0-9]*)\\](.[^\\[]*)\\[\\/MP] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <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> " );
    ????????
    // 轉換RM
    ????????re? = ? " \\[RM=*([0-9]*),*([0-9]*)\\](.[^\\[]*)\\[\\/RM] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <OBJECT?classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA?class=OBJECT?id=RAOCX?width=$1?height=$2><PARAM?NAME=SRC?VALUE=$3><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=$1><PARAM?NAME=SRC?VALUE=$3><PARAM?NAME=AUTOSTART?VALUE=-1><PARAM?NAME=CONTROLS?VALUE=controlpanel><PARAM?NAME=CONSOLE?VALUE=Clip1></OBJECT> " );
    ????????
    // 轉換FLASH
    ????????re? = ? " (\\[FLASH\\])(.[^\\[]*)(\\[\\/FLASH\\]) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll(
    ????????????????
    " <a?href=\ " $ 2 \ " ?TARGET=_blank><IMG?SRC=\ "" ?+?ImagePath?+? " swf.gif\ " ?border=0?alt=點擊開新窗口欣賞該FLASH動畫!?height=16?width=16>[全屏欣賞]</a><br><OBJECT?codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,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> " );
    ????????re?
    = ? " (\\[FLASH=*([0-9]*),*([0-9]*)\\])(.[^\\[]*)(\\[\\/FLASH\\]) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll(
    ????????????????
    " <a?href=\ " $ 4 \ " ?TARGET=_blank><IMG?SRC=\ "" ?+?ImagePath?+? " swf.gif?\ " ?border=0?alt=點擊開新窗口欣賞該FLASH動畫!?height=16?width=16>[全屏欣賞]</a>?<br><OBJECT?codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0?classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000?width=$2?height=$3><PARAM?NAME=movie?VALUE=\ " $ 4 \ " ><PARAM?NAME=quality?VALUE=high><embed?src=\ " $ 4 \ " ?quality=high?pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'?type='application/x-shockwave-flash'?width=$2?height=$3>$4</embed></OBJECT> " );
    ????????
    // 轉換URL
    ????????re? = ? " (\\[URL\\])(.[^\\[]*)(\\[\\/URL\\]) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <A?HREF=\ " $ 2 \ " ?TARGET=_blank>$2</A> " );
    ????????re?
    = ? " (\\[URL=(.[^\\[]*)\\])(.[^\\[]*)(\\[\\/URL\\]) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <A?HREF=\ " $ 2 \ " ?TARGET=_blank>$3</A> " );
    ????????
    // 轉換EMAIL
    ????????re? = ? " (\\[EMAIL\\])(\\S+\\@.[^\\[]*)(\\[\\/EMAIL\\]) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <img?align=absmiddle?src=\ "" ?+
    ????????????????????????????????????????ImagePath? +
    ????????????????????????????????????????
    " email1.gif\ " >< A?HREF = \ " mailto:$2\ " > $ 2 </ A > " );
    ????????re? = ? " (\\[EMAIL=(\\S+\\@.[^\\[]*)\\])(.[^\\[]*)(\\[\\/EMAIL\\]) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <img?align=absmiddle?src=\ "" ?+
    ????????????????????????????????????????ImagePath? +
    ????????????????????????????????????????
    " email1.gif\ " >< A?HREF = \ " mailto:$2\ " ?TARGET = _blank > $ 3 </ A > " );
    ?
    ????????
    // 自動識別網址
    ????????re? =
    ????????????????
    " ^((http|https|ftp|rtsp|mms):(\\/\\/|\\\\)[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll(
    ????????????????
    " <img?align=absmiddle?src=pic/url.gif?border=0><a?target=_blank?href=$1>$1</a> " );
    ????????re?
    =
    ????????????????
    " ((http|https|ftp|rtsp|mms):(\\/\\/|\\\\)[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)$ " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll(
    ????????????????
    " <img?align=absmiddle?src=pic/url.gif?border=0><a?target=_blank?href=$1>$1</a> " );
    ????????re?
    = ? " ([^>=\ " ])((http | https | ftp | rtsp | mms):(\\ / \\ /| \\\\)[A - Za - z0 - 9 \\. /= \\ ?% \\ -& _ ~ `@ ' :+!]+)";
    ????????pattern? = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " $1<img?align=absmiddle?src=pic/url.gif?border=0><a?target=_blank?href=$2>$2</a> " );
    ?
    ????????
    // 自動識別www等開頭的網址
    ????????re? = ? " ([^(http://|http:\\\\)])((www|cn)[.](\\w)+[.]{1,}(net|com|cn|org|cc)(((\\/[\\~]*|\\[\\~]*)(\\w)+)|[.](\\w)+)*(((([?](\\w)+){1}[=]*))*((\\w)+){1}([\\&](\\w)+[\\=](\\w)+)*)*) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <img?align=absmiddle?src=pic/url.gif?border=0><a?target=_blank?href=http://$2>$2</a> " );
    ?
    ????????
    // 自動識別Email地址,如打開本功能在瀏覽內容很多的帖子會引起服務器停頓
    ????????re? = ? " ([^(=)])((\\w)+[@]{1}((\\w)+[.]){1,3}(\\w)+) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <img?align=absmiddle?src=pic/url.gif?border=0><a?target=_blank?href=\ " mailto:$ 2 \ " >$2</a> " );
    ????????
    // 轉換EM
    ????????re? = ? " \\[em(.[^\\[]*)\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <img?src=\ "" ?+?emotImagePath?+
    ???????????????????????????????????????? " em$1.gif\ " ?border = 0 ?align = middle > " );
    ???????? // 轉換HTML
    ????????re? = ? " \\[HTML\\](.[^\\[]*)\\[\\/HTML\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <?table?width='100%'?border='0'?cellspacing='0'?cellpadding='6'?class=tableborder1>?<td><b>以下內容為程序代碼:</b><br>$1</td><?/table> " );
    ????????
    // 轉換CODE
    ????????re? = ? " \\[code\\](.[^\\[]*)\\[\\/code\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <?table?width='100%'?border='0'?cellspacing='0'?cellpadding='6'?class=tableborder1>?<td><b>以下內容為程序代碼:</b><br>$1</td><?/table> " );
    ????????
    // 轉換COLOR
    ????????re? = ? " \\[color=(.[^\\[]*)\\](.[^\\[]*)\\[\\/color\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <font?color=$1>$2</font> " );
    ????????
    // 轉換FACE
    ????????re? = ? " \\[face=(.[^\\[]*)\\](.[^\\[]*)\\[\\/face\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <font?face=$1>$2</font> " );
    ????????
    // 轉換ALIGN
    ????????re? = ? " \\[align=(center|left|right)\\](.*)\\[\\/align\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <div?align=$1>$2</div> " );
    ????????
    // 轉換QUOTE
    ????????re? = ? " \\[QUOTE\\](.*)\\[\\/QUOTE\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <table?style=\ " width: 80 % \ " ?cellpadding=5?cellspacing=1?class=tableborder1><TR><TD?class=tableborder1>$1</td></tr></table><br> " );
    ????????
    // 轉換FLY
    ????????re? = ? " \\[fly\\](.*)\\[\\/fly\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll(
    ????????????????
    " <marquee?width=90%?behavior=alternate?scrollamount=3>$1</marquee> " );
    ????????
    // 轉換MOVE
    ????????re? = ? " \\[move\\](.*)\\[\\/move\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <MARQUEE?scrollamount=3>$1</marquee> " );
    ????????
    // 轉換GLOW
    ????????re? =
    ????????????????
    " \\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\\](.[^\\[]*)\\[\\/GLOW] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll(
    ????????????????
    " <table?width=$1?style=\ " filter:glow(color = $ 2 ,?strength = $ 3 )\ " >$4</table> " );
    ????????
    // 轉換SHADOW
    ????????re? =
    ????????????????
    " \\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\\](.[^\\[]*)\\[\\/SHADOW] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll(
    ????????????????
    " <table?width=$1?style=\ " filter:shadow(color = $ 2 ,?strength = $ 3 )\ " >$4</table> " );
    ?
    ????????re?
    = ? " \\[i\\](.[^\\[]*)\\[\\/i\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <i>$1</i> " );
    ????????re?
    = ? " \\[u\\](.[^\\[]*)(\\[\\/u\\]) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <u>$1</u> " );
    ????????re?
    = ? " \\[b\\](.[^\\[]*)(\\[\\/b\\]) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <b>$1</b> " );
    ????????re?
    = ? " \\[size=([1-4])\\](.[^\\[]*)\\[\\/size\\] " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(strContent);
    ????????strContent?
    = ?matcher.replaceAll( " <font?size=$1>$2</font> " );
    ????????
    /* re?="(\\s)";
    ?????????????????matcher?=?pattern.matcher(strContent);??
    ?????????????????strContent=matcher.replaceAll("<I>$1</I>");
    */
    ????????re?
    = ? null ;
    ????????
    return ?strContent;
    ????}
    ?
    /**
    ?*??過濾javascript代碼.
    ?*?
    @param ?v轉換前的代碼.
    ?*?
    @return ?v轉換后的內容.
    ?
    */
    ?
    ????
    public ? static ?String?FilterJS(String?v)?{
    ????????
    if ?( ! v.equals( " null " )? && ?v? != ? null )?{
    ????????????String?t,?re;
    ????????????re?
    = ? " (javascript) " ;
    ????????????t?
    = ?re.replace(v,? " javascript " );
    ????????????re?
    = ? " (jscript:) " ;
    ????????????t?
    = ?re.replace(t,? " jscript: " );
    ????????????re?
    = ? " (js:) " ;
    ????????????t?
    = ?re.replace(t,? " js: " );
    ????????????re?
    = ? " (value) " ;
    ????????????t?
    = ?re.replace(t,? " value " );
    ????????????re?
    = ? " (about:) " ;
    ????????????t?
    = ?re.replace(t,? " about: " );
    ????????????re?
    = ? " (file:) " ;
    ????????????t?
    = ?re.replace(t,? " file: " );
    ????????????re?
    = ? " (document.cookie) " ;
    ????????????t?
    = ?re.replace(t,? " documents.cookie " );
    ????????????re?
    = ? " (vbscript:) " ;
    ????????????t?
    = ?re.replace(t,? " vbscript: " );
    ????????????re?
    = ? " (vbs:) " ;
    ????????????t?
    = ?re.replace(t,? " vbs: " );
    ????????????re?
    = ? " (on(mouse|exit|error|click|key)) " ;
    ????????????t?
    = ?re.replace(t,? " on$2 " );
    ????????????re?
    = ? " (&#) " ;
    ????????????t?
    = ?re.replace(t,? " &# " );
    ????????????re?
    = ? null ;
    ????????}
    ????????
    return ?v;
    ????}
    ?
    /**
    ?*??替換一些特殊符號為html語法標記.
    ?*?
    @param ?fString轉換前的代碼.
    ?*?
    @return ?fString轉換后的內容.
    ?
    */ ?
    ?
    ? 
    public ? static ?String?dvHTMLEncode(String?fString)?{
    ????????
    if ?( ! fString.equals( " null " )? && ?fString? != ? null )?{
    ????????????fString?
    = ?replace(fString,? " > " ,? " > " );
    ????????????fString?
    = ?replace(fString,? " < " ,? " < " );
    ????????????fString?
    = ?replace(fString,? " & " ,? " & " );
    ????????????fString?
    = ?replace(fString,? " ? " ,? " ? " );
    ????????????fString?
    = ?replace(fString,? " \ "" ,? """ );
    ????????????fString?
    = ?replace(fString,? " \' " ,? " ' " );
    ????????????fString?
    = ?replace(fString,? " \r " ,? "" );
    ????????????fString?
    = ?replace(fString,? " \n " ,? " <BR>? " );
    ????????????fString?
    = ?replace(fString,? " \\ " ,? " \ " );
    ????????}
    ????????
    return ?fString;
    ????}
    ?
    /**
    ?*??html語法標記轉換符號本身.
    ?*?
    @param ?fString轉換前的代碼.
    ?*?
    @return ?fString轉換后的內容.
    ?
    */ ??
    ?
    ??
    public ? static ?String?dvHTMLCode(String?fString)?{
    ????????
    if ?( ! fString.equals( " null " )? && ?fString? != ? null )?{
    ????????????fString?
    = ?replace(fString,? " > " ,? " > " );
    ????????????fString?
    = ?replace(fString,? " < " ,? " < " );
    ????????????fString?
    = ?replace(fString,? " & " ,? " & " );
    ????????????fString?
    = ?replace(fString,? " ? " ,? " ? " );
    ????????????fString?
    = ?replace(fString,? """ ,? " \ "" );
    ????????????fString?
    = ?replace(fString,? " ' " ,? " \' " );
    ????????????fString?
    = ?replace(fString,? " \ " ,? " \\ " );
    ????????????fString?
    = ?replace(fString,? " <BR> " ,? " \n " );
    ????????}
    ????????
    return ?fString;
    ????}
    ?
    ????
    public ? static ?String?nohtml(String?str)?{
    ????????String?re;
    ????????Pattern?pattern?
    = ? null ;
    ????????Matcher?matcher?
    = ? null ;
    ????????re?
    = ? " (\\<.[^\\<]*\\>) " ;
    ????????pattern?
    = ?Pattern.compile(re);
    ????????matcher?
    = ?pattern.matcher(str);
    ????????str?
    = ?matcher.replaceAll( " ? " );
    ????????re?
    = ? " (\\<\\/[^\\<]*\\>) " ;
    ????????str?
    = ?re.replace(str,? " ? " );
    ????????re?
    = ? null ;
    ????????
    return ?str;
    ????}
    ?
    /**
    ?*??分割函數.
    ?*?
    @param ?source原字符串,div將要被分割的字符串.
    ?*?
    @return ?returnStr分割后的字符串.
    ?
    */ ??
    ?
    ???
    public ? static ?String[]?split(String?source,?String?div)?{
    ????????
    int ?arynum? = ? 0 ,?intIdx? = ? 0 ,?intIdex? = ? 0 ,?div_length? = ?div.length();
    ????????
    if ?(source.compareTo( "" )? != ? 0 )?{
    ????????????
    if ?(source.indexOf(div)? != ? - 1 )?{
    ????????????????intIdx?
    = ?source.indexOf(div);
    ????????????????
    for ?( int ?intCount? = ? 1 ;?;?intCount ++ )?{
    ????????????????????
    if ?(source.indexOf(div,?intIdx? + ?div_length)? != ? - 1 )?{
    ????????????????????????intIdx?
    = ?source.indexOf(div,?intIdx? + ?div_length);
    ????????????????????????arynum?
    = ?intCount;
    ????????????????????}?
    else ?{
    ????????????????????????arynum?
    += ? 2 ;
    ????????????????????????
    break ;
    ????????????????????}
    ????????????????}
    ????????????}?
    else ?{
    ????????????????arynum?
    = ? 1 ;
    ????????????}
    ????????}?
    else ?{
    ????????????arynum?
    = ? 0 ;
    ?
    ????????}
    ????????intIdx?
    = ? 0 ;
    ????????intIdex?
    = ? 0 ;
    ????????String[]?returnStr?
    = ? new ?String[arynum];
    ?
      
    if ?(source.compareTo( "" )? != ? 0 )?{
    ????????????
    if ?(source.indexOf(div)? != ? - 1 )?{
    ????????????????intIdx?
    = ?( int )?source.indexOf(div);
    ????????????????returnStr[
    0 ]? = ?(String)?source.substring( 0 ,?intIdx);
    ????????????????
    for ?( int ?intCount? = ? 1 ;?;?intCount ++ )?{
    ????????????????????
    if ?(source.indexOf(div,?intIdx? + ?div_length)? != ? - 1 )?{
    ????????????????????????intIdex?
    = ?( int )?source.indexOf(div,?intIdx? + ?div_length);
    ????????????????????????returnStr[intCount]?
    = ?(String)?source.substring(intIdx? +
    ????????????????????????????????div_length,
    ????????????????????????????????intIdex);
    ????????????????????????intIdx?
    = ?( int )?source.indexOf(div,?intIdx? + ?div_length);
    ????????????????????}?
    else ?{
    ????????????????????????returnStr[intCount]?
    = ?(String)?source.substring(intIdx? +
    ????????????????????????????????div_length,
    ????????????????????????????????source.length());
    ????????????????????????
    break ;
    ????????????????????}
    ????????????????}
    ????????????}?
    else ?{
    ????????????????returnStr[
    0 ]? = ?(String)?source.substring( 0 ,?source.length());
    ????????????????
    return ?returnStr;
    ????????????}
    ????????}?
    else ?{
    ????????????
    return ?returnStr;
    ????????}
    ????????
    return ?returnStr;
    ????}
    ?
    /**
    ?*??替換函數.
    ?*?
    @param ?str替換前的字符串,substr被替換的字符,restr替換的字符.
    ?*?
    @return ?替換后并且經過除空處理的字符串.
    ?
    */ ??
    ????
    public ? static ?String?replace(String?str,?String?substr,?String?restr)?{
    ????????String[]?tmp?
    = ?split(str,?substr);
    ????????String?returnstr?
    = ? null ;
    ????????
    if ?(tmp.length? != ? 0 )?{
    ????????????returnstr?
    = ?tmp[ 0 ];
    ????????????
    for ?( int ?i? = ? 0 ;?i? < ?tmp.length? - ? 1 ;?i ++ )?{
    ????????????????returnstr?
    = ?dealNull(returnstr)? + ?restr? + ?tmp[i? + ? 1 ];
    ????????????}
    ????????}
    ????????
    return ?dealNull(returnstr);
    ????}
    ?
    /**
    ?*??除空處理函數.
    ?*?
    @param ?str原字符串.
    ?*?
    @return ?處理后的字符串.
    ?
    */ ??
    ????
    public ? static ?String?dealNull(String?str)?{
    ????????String?returnstr?
    = ? null ;
    ????????
    if ?(str? == ? null )?{
    ????????????returnstr?
    = ? "" ;
    ????????}?
    else ?{
    ????????????returnstr?
    = ?str;
    ????????}
    ????????
    return ?returnstr;
    ????}
    ?
    ????
    public ? static ?String?tostring(Character?i)?{
    ????????Character?c?
    = ?i;
    ????????
    return ?c.toString();
    ????}
    ?
    }

    posted on 2006-05-24 09:53 鄧華的碎碎念 閱讀(1230) 評論(4)  編輯  收藏

    Feedback

    # re: java的ubb類 2007-06-01 15:27 yecool
    代碼有錯  回復  更多評論
      

    # re: java的ubb類[未登錄] 2008-03-04 12:02 apple
    把代碼放到類中有錯,請更正!  回復  更多評論
      

    # re: java的ubb類 2008-03-04 14:27 我為我狂
    真的嗎  回復  更多評論
      

    # re: java的ubb類 2009-07-30 08:33 CTO
    就這些簡單的錯誤引用著自行修改一下就可以了
    這還麻煩樓主。。。
    小小的鄙視一下
    挺樓主分享  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 3344免费播放观看视频| 亚洲一级Av无码毛片久久精品| 亚洲妇女无套内射精| 国产亚洲精品自在线观看| 免费女人高潮流视频在线观看| 亚洲sss综合天堂久久久| 国产成人99久久亚洲综合精品| 久久久久国产精品免费网站| 你懂的免费在线观看网站| 亚洲日本久久一区二区va| 亚洲成网777777国产精品| 99在线在线视频免费视频观看| 亚洲精品乱码久久久久久V| 亚洲精品无码久久久久去q| 免费精品国产自产拍在| 国产精品无码免费专区午夜| 亚洲一区无码中文字幕乱码| 亚洲综合国产精品第一页| 国产电影午夜成年免费视频| 国产成人无码精品久久久免费| 亚洲一区二区三区无码国产| 国产精品亚洲片在线观看不卡| 午夜视频免费成人| 99在线视频免费| 国产裸体美女永久免费无遮挡| 亚洲日韩乱码中文无码蜜桃| 国产午夜亚洲精品午夜鲁丝片| 男女交性永久免费视频播放 | 两个人看的www高清免费视频 | 日本在线免费观看| 羞羞视频免费网站入口| 亚洲综合久久精品无码色欲 | 综合一区自拍亚洲综合图区| 免费又黄又爽又猛的毛片| **实干一级毛片aa免费| 三年片免费高清版| 九九免费精品视频在这里| 亚洲av无码专区在线电影天堂| 亚洲一区在线观看视频| 亚洲专区在线视频| 亚洲av中文无码乱人伦在线咪咕|