+ -
当前位置:首页 → 问答吧 → php Ubb代码精华

php Ubb代码精华

时间:2007-06-08

来源:互联网

<?php
/*
程序设计: 林建炫(飘枫设计室)
made in 陆丰 by 2007-03-07 中午
QQ: 5818500
Email: [email protected]
如果你使用、修改请保留该信息!
功能: Ubb类
优点: 比普通ubb多了快速Ubb配对相应的html问题。
*/
Class Cls_Ubb
{
var $type='';
        Function _htm($string)
        {
                if(!$string){return "";}
                if(ereg("<(.+)*>(.+)*<\/(.+)*>",$string))
                {
                        $string = eregi_replace("\<","&lt;",$string);
                        $string = eregi_replace("\>","&gt;",$string);
                }
                if(eregi("\[(\/*b)\]",$string)){$this->type.="1,";}
                if(eregi("\[(\/*i)\]",$string)){$this->type.="2,";}
                if(eregi("\[(\/*u)\]",$string)){$this->type.="3,";}
                if(eregi("\[align=([a-zA-Z]*)\]",$string)){$this->type.="4,";}
                if(eregi("\[fly\](.+)*\[\/fly\]",$string)){$this->type.="5,";}
                if(eregi("\[move\](.+)*\[\/move\]",$string)){$this->type.="6,";}
                if(eregi("\[light\](.+)*\[\/light\]",$string)){$this->type.="7,";}
                if(eregi("\[SHADOW=([0-9]{1,3}),([a-zA-Z]*),([0-9]{1,})\](.+)*\[\/shadow\]",$string)){$this->type.="8,";}
                if(eregi("\[url=(.+)\](.+)\[\/url\]",$string)){$this->type.="9,";}
                if(eregi("\[email\]([a-zA-Z0-9]{1,}@([a-zA-Z0-9]{1,}.[a-zA-Z0-9]{1,})*)\[\/email\]",$string)){$this->type.="10,";}
                if(eregi("\[em([0-9]{1,})\]",$string)){$this->type.="11,";}
                if(eregi("\[img\](.+)*\[\/img\]",$string)){$this->type.="12,";}
                if(eregi("\[flash=*([0-9]*),*([0-9]*)\](.+)*\[\/flash\]",$string)){$this->type.="13,";}
                if(eregi("\[mp=*([0-9]{1,3}),([0-9]{1,3})\](.+)*\[\/mp\]",$string)){$this->type.="14,";}
                if(eregi("\[rm=([0-9]{1,3}),([0-9]{1,3})\](.+)*\[\/rm\]",$string)){$this->type.="15,";}
                if(eregi("\[sound\](.+)*\[\/sound\]",$string)){$this->type.="16,";}
                if(eregi("\[code\](.+)*\[\/code\]",$string)){$this->type.="17,";}
                if(eregi("\[sup\](.+)*\[\/sup\]",$string)){$this->type.="18,";}
                if(eregi("\[sub\](.+)*\[\/sub\]",$string)){$this->type.="19,";}
                if(eregi("\[color=(.+)*\](.+)*\[\/color\]",$string)){$this->type.="20,";}
                if(eregi("\[size=([0-9]{1})\](.+)*\[\/size\]",$string)){$this->type.="21,";}
                if($this->type){$this->type=substr($this->type,0,(strlen($this->type)-1));}
                return $string;
        }
       
?>

作者: linzhenxuan   发布时间: 2007-06-08

<?
Function _ubb($string,$type='')
        {
        Global $rand;
        $type = str_replace(" ","",$type);
        $rand = rand();
                if(!$string)
                {
                        break;
                }
                else
                {
                        if(!$type)
                        {
                                $string = eregi_replace("\[(\/*b)\]","<\\1>",$string);
                                $string = eregi_replace("\[(\/*i)\]","<\\1>",$string);
                                $string = eregi_replace("\[(\/*u)\]","<\\1>",$string);
                                $string = eregi_replace("\[align=([a-zA-Z]*)\]","<p align=\\1>",$string);
                                $string = eregi_replace("\[(\/align)\]","<\\1>",$string);
                                $string = eregi_replace("\[fly\](.+)*\[\/fly\]","<marquee width=90% behavior=alternate scrollamount=3>\\1</marquee>",$string);
                                $string = eregi_replace("\[move\](.+)*\[\/move\]","<MARQUEE scrollamount=3>\\1</marquee>",$string);
                                $string = eregi_replace("\[light\](.+)*\[\/light\]","<span style=\"behavior:url(Inc/font.htc)\">\\1</span>",$string);
                                $string = eregi_replace("\[SHADOW=([0-9]{1,3}),([a-zA-Z]*),([0-9]{1,})\](.+)*\[\/shadow\]","<table width=\\1 ><tr><td style=\"filter:shadow(color=\\2, stregExngth=\\3)\">\\4</td></tr></table>",$string);
                                $string = eregi_replace("\[url=(.+)\](.+)\[\/url\]","<a href=\\2>\\1</a>",$string);
                                $string = eregi_replace("\[email\]([a-zA-Z0-9]{1,}@([a-zA-Z0-9]{1,}.[a-zA-Z0-9]{1,})*)\[\/email\]","<a href=mailto:\\1>\\1</a>",$string);
                                $string = eregi_replace("\[em([0-9]{1,})\]","<img src=\"images\Emotions\em\\1.gif\">",$string);
                                $string = eregi_replace("\[img\](.+)*\[\/img\]","<img src=\\1>",$string);
                                $string = eregi_replace("\[flash=*([0-9]*),*([0-9]*)\](.+)*\[\/flash\]","<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=\\1 height=\\2><PARAM NAME=movie VALUE=\"\\3\"><PARAM NAME=quality VALUE=high><embed src=\"\\3\" quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=\\1 height=\\2></embed></OBJECT>",$string);
                                $string = eregi_replace("\[mp=*([0-9]{1,3}),([0-9]{1,3})\](.+)*\[\/mp\]","<br><b>此主题相关媒体如下:<a href=\"\\3\" TARGET=_blank>(点这里下载)</a></b><br><object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=\\1 height=\\2 >\" & vbcrlf & \"<param name=ShowStatusBar value=-1>\" & vbcrlf & \"<param name=Filename value=\\3>\" & vbcrlf & \"<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>\" & vbcrlf & \"</embed>\" & vbcrlf & \"</object>",$string);
                                $string = eregi_replace("\[rm=([0-9]{1,3}),([0-9]{1,3})\](.+)*\[\/rm\]","<b>这个是 RealPlayer 音乐:</b><br><object classid=clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=280 height=70><param name=_ExtentX value=7938><param name=_ExtentY value=2646><param name=AUTOSTART value=0><param name=SHUFFLE value=0><param name=PREFETCH value=0><param name=NOLABELS value=0><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><PARAM NAME=SRC VALUE=\\3></object>",$string);
                                $string = eregi_replace("\[sound\](.+)*\[\/sound\]","<a href=\"\\1\" target=_blank><IMG SRC=Images/mid.gif border=0 alt='背景音乐'></a><bgsound src=\"\\1\" loop=\"-1\">",$string);
                                $string = eregi_replace("\[code\](.+)*\[\/code\]","<div align='center'><table border='0' width='90%' id='table7' cellspacing='0' cellpadding='0'><tr><td style='border: 1px solid #F9F9F9' bgcolor='#FFFBE8' height='20'><b><font color='#515100'>Code:</font></b></td></tr><tr><td style='border: 1px solid #F5F5F5' id='".$rand."'>\\1</td></tr><tr><td style='border: 1px solid #F5F5F5'><input type=button value='运行这个代码' onclick='javascript:PopIt(\"代码预览\",\"".$rand."\")'></td></tr></table></div>",$string);
                                $string = eregi_replace("\[sup\](.+)*\[\/sup\]","<sup>\\1</sup>",$string);
                                $string = eregi_replace("\[sub\](.+)*\[\/sub\]","<sub>\\1</sub>",$string);
                                $string = eregi_replace("\[color=(.+)*\](.+)*\[\/color\]","<font color=\\1>\\2</font>",$string);
                                $string = eregi_replace("\[size=([0-9]{1})\](.+)*\[\/size\]","<font size=\\1>\\2</font>",$string);
                        }
                        else
                        {
                                $method = explode(",",$type);
                                //for($i=0;$i<=(count($method)-1);$i++)
                                //{
                                foreach($method as $x)
                                {
                                        Switch($x)
                                        {
                                                case "1":
                                                        $string = eregi_replace("\[(\/*b)\]","<\\1>",$string);
                                                break;
                                                case "2":
                                                        $string = eregi_replace("\[(\/*i)\]","<\\1>",$string);
                                                break;

作者: linzhenxuan   发布时间: 2007-06-08

case "3":
                                                        $string = eregi_replace("\[(\/*u)\]","<\\1>",$string);
                                                break;
                                                case "4":
                                                        $string = eregi_replace("\[align=([a-zA-Z]*)\]","<p align=\\1>",$string);
                                                        $string = eregi_replace("\[(\/align)\]","<\\1>",$string);
                                                break;
                                                case "5":
                                                        $string = eregi_replace("\[fly\](.+)*\[\/fly\]","<marquee width=90% behavior=alternate scrollamount=3>\\1</marquee>",$string);
                                                break;
                                                case "6":
                                                        $string = eregi_replace("\[move\](.+)*\[\/move\]","<MARQUEE scrollamount=3>\\1</marquee>",$string);
                                                break;
                                                case "7":
                                                        $string = eregi_replace("\[light\](.+)*\[\/light\]","<span style=\"behavior:url(Inc/font.htc)\">\\1</span>",$string);
                                                break;
                                                case "8":
                                                        $string = eregi_replace("\[SHADOW=([0-9]{1,3}),([a-zA-Z]*),([0-9]{1,})\](.+)*\[\/shadow\]","<table width=\\1 ><tr><td style=\"filter:shadow(color=\\2, stregExngth=\\3)\">\\4</td></tr></table>",$string);
                                                break;
                                                case "9":
                                                        $string = eregi_replace("\[url=(.+)\](.+)\[\/url\]","<a href=\\2>\\1</a>",$string);
                                                break;
                                                case "10":
                                                        $string = eregi_replace("\[email\]([a-zA-Z0-9]{1,}@([a-zA-Z0-9]{1,}.[a-zA-Z0-9]{1,})*)\[\/email\]","<a href=mailto:\\1>\\1</a>",$string);
                                                break;
                                                case "11":
                                                        $string = eregi_replace("\[em([0-9]{1,})\]","<img src=\"images\Emotions\em\\1.gif\">",$string);
                                                break;
                                                case "12":
                                                        $string = eregi_replace("\[img\](.+)*\[\/img\]","<img src=\\1>",$string);
                                                break;
                                                case "13":
                                                        $string = eregi_replace("\[flash=*([0-9]*),*([0-9]*)\](.+)*\[\/flash\]","<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=\\1 height=\\2><PARAM NAME=movie VALUE=\"\\3\"><PARAM NAME=quality VALUE=high><embed src=\"\\3\" quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=\\1 height=\\2></embed></OBJECT>",$string);
                                                break;
                                                case "14":
                                                        $string = eregi_replace("\[mp=*([0-9]{1,3}),([0-9]{1,3})\](.+)*\[\/mp\]","<br><b>此主题相关媒体如下:<a href=\"\\3\" TARGET=_blank>(点这里下载)</a></b><br><object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=\\1 height=\\2 >\" & vbcrlf & \"<param name=ShowStatusBar value=-1>\" & vbcrlf & \"<param name=Filename value=\\3>\" & vbcrlf & \"<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>\" & vbcrlf & \"</embed>\" & vbcrlf & \"</object>",$string);
                                                break;
                                                case "15":
                                                        $string = eregi_replace("\[rm=([0-9]{1,3}),([0-9]{1,3})\](.+)*\[\/rm\]","<b>这个是 RealPlayer 音乐:</b><br><object classid=clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=280 height=70><param name=_ExtentX value=7938><param name=_ExtentY value=2646><param name=AUTOSTART value=0><param name=SHUFFLE value=0><param name=PREFETCH value=0><param name=NOLABELS value=0><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><PARAM NAME=SRC VALUE=\\3></object>",$string);
                                                break;
                                                case "16":
                                                        $string = eregi_replace("\[sound\](.+)*\[\/sound\]","<a href=\"\\1\" target=_blank><IMG SRC=Images/mid.gif border=0 alt='背景音乐'></a><bgsound src=\"\\1\" loop=\"-1\">",$string);
                                                break;
                                                case "17":
                                                        $string = eregi_replace("\[code\](.+)*\[\/code\]","<div align='center'><table border='0' width='90%' id='table7' cellspacing='0' cellpadding='0'><tr><td style='border: 1px solid #F9F9F9' bgcolor='#FFFBE8' height='20'><b><font color='#515100'>Code:</font></b></td></tr><tr><td style='border: 1px solid #F5F5F5' id='".$rand."'>\\1</td></tr><tr><td style='border: 1px solid #F5F5F5'><input type=button value='运行这个代码' onclick='javascript:PopIt(\"代码预览\",\"".$rand."\")'></td></tr></table></div>",$string);
                                                break;
                                                case "18":
                                                        $string = eregi_replace("\[sup\](.+)*\[\/sup\]","<sup>\\1</sup>",$string);
                                                break;
                                                case "19":
                                                        $string = eregi_replace("\[sub\](.+)*\[\/sub\]","<sub>\\1</sub>",$string);
                                                break;
                                                case "20":
                                                        $string = eregi_replace("\[color=(.+)*\](.+)*\[\/color\]","<font color=\\1>\\2</font>",$string);
                                                break;
                                                case "21":
                                                        $string = eregi_replace("\[size=([0-9]{1})\](.+)*\[\/size\]","<font size=\\1>\\2</font>",$string);
                                                break;
                                        }
                                }
                        }
                }
                $string = nl2br($string);
                return $string;
        }
}//end class
/*
使用方法:
        $ubb = New Cls_ubb;//设置$ubb
        $htm = $ubb->_htm('jfkdfdasfsa<u>jkdfs</u>');//把htm转成ubb,把ubb转成html。
        $type = $ubb->type;//得到响应的ubb号码数
        echo $htm;//输出html
        echo $ubb->_UBB($htm);//把ubb转成html。本句可以使用echo $ubb->_UBB($htm,$type)可以快速配对入好
*/

作者: linzhenxuan   发布时间: 2007-06-08

这里贴代码太麻烦了。
要看全的朋友请到
http://www.phpx.com/happy/thread-135056-1-1.html
这里看

作者: linzhenxuan   发布时间: 2007-06-08

热门下载

更多