Heim  >  Artikel  >  php教程  >  php的把ubb代码转换成html代码的程序

php的把ubb代码转换成html代码的程序

WBOY
WBOYOriginal
2016-05-25 16:51:44818Durchsuche

<?php
function ubbcode($str) {
    //$str = str_replace("file:","file :",$str);
    //$str = str_replace("files:","files :",$str);
    //$str = str_replace("script:","script :",$str);
    //$str = str_replace("js:","js :",$str);
    //图片UBB
    $str = preg_replace("/\[img\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]/i", "<a onfocus=\"this.blur()\" href=\"\${1}://\${2}\" target=new><img src=\"\${1}://\${2}\" border=\"0\" alt=\"按此在新窗口浏览图片\" onload=\"javascript:if(this.width>300)this.width=300\"></a>", $str);
    $str = preg_replace("/\[img=*([0-9]*),*([0-9]*)\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]/i", "<a onfocus=\"this.blur()\" href=\"\${3}://\${4}\" target=new><img src=\"\${3}://\${4}\" border=\"0\"  width=\"\${1}\" heigh=\"\${2}\" alt=\"按此在新窗口浏览图片\" onload=\"javascript:if(this.width>300)this.width=300\"></a>", $str);
    $str = preg_replace("/(\[img\])images\/face\/em(.*?)\.gif(\[\/img\])/i", "<img  src=\"images/face/em\${2}.gif\" / alt="php的把ubb代码转换成html代码的程序 " >", $str);
    //链接UBB
    $str = preg_replace("/(\[url\])(.[^\[]*)(\[url\])/i", "<a href=\"\${2}\" target=\"new\">\${1}</a>", $str);
    $str = preg_replace("/\[url=(.[^\[]*)\]/i", "<a href=\"\${1}\" target=\"new\">", $str);
    //邮箱UBB
    $str = preg_replace("/(\[email\])(.*?)(\[\/email\])/i", "<img  align=\"absmiddle\" \"src=image/email1.gif\" alt="php的把ubb代码转换成html代码的程序 " ><a href=\"mailto:\${2}\">\${2}</a>", $str);
    $str = preg_replace("/\[email=(.[^\[]*)\]/i", "<img  align=\"absmiddle\" src=\"image/email1.gif\" alt="php的把ubb代码转换成html代码的程序 " ><a href=\"mailto:\${1}\" target=\"new\">", $str);
    //QQ号码UBB
    $str = preg_replace("/\[qq=([0-9]*)\]([0-9]*)\[\/qq\]/i", "<a target=\"new\" href=\"tencent://message/?uin=\${2}&Site=www.52515.net&Menu=yes\"><img border=\"0\" src=\"http://wpa.qq.com/pa?p=1:\${2}:\${1}\" alt=\"点击这里给我发消息\"></a>", $str);
    //颜色UBB
    $str = preg_replace("/\[color=(.[^\[]*)\]/i", "<font color=\"\${1}\">", $str);
    //文字字体UBB
    $str = preg_replace("/\[font=(.[^\[]*)\]/i", "<font face=\"\${1}\">", $str);
    //文字大小UBB
    $str = preg_replace("/\[size=([0-9]*)\]/i", "<font size=\"\${1}\">", $str);
    $str = preg_replace("/\[size=([0-9]*)pt\]/i", "<font size=\"\${1}\">", $str);
    $str = preg_replace("/\[size=([0-9]*)px\]/i", "<font size=\"\${1}\">", $str);
    //文字对齐方式UBB
    $str = preg_replace("/\[align=(center|left|right)\]/i", "<div align=\"\${1}\">", $str);
    //表格UBB
    //$str = preg_replace("/\[table=(.[^\[]*)\]/i", "<table width=\"\${1}\" border=\"1\" style=\"border-collapse:collapse\">", $str);
    //表格UBB2
    //$str = preg_replace("/\[td=([0-9]*),([0-9]*),([0-9]*)\]/i", "<td colspan=\"\${1}\" rowspan=\"\${2}\" width=\"\${3}\">", $str);
    //字体倾斜
    $str = preg_replace("/\[i\]((.|\n)*?)\[\/i\]/i", "<i>\${1}</i>", $str);
    //FLASH动画UBB
    $str = preg_replace("/(\[flash\])(http:\/\/.[^\[]*(.swf))(\[\/flash\])/i", "<a href=\"\${2}\" target=\"new\"><img src=\"image/swf.gif\" border=\"0\" alt=\"点击开新窗口欣赏该flash动画!\" height=\"16\" width=\"16\">[全屏欣赏]</a><br><center><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=\"300\" height=\"200\"><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=\"300\" height=\"200\">\${2}</embed></object></center>", $str);
    $str = preg_replace("/(\[flash=*([0-9]*),*([0-9]*)\])(http:\/\/.[^\[]*(.swf))(\[\/flash\])/i", "<a href=\"\${4}\" target=\"new\"><img src=\"image/swf.gif\" border=\"0\" alt=\"点击开新窗口欣赏该flash动画!\" height=\"16\" width=\"16\">[全屏欣赏]</a><br><center><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=\"\${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></center>", $str);
    //MEDIA PLAY播放UBB
    $str = preg_replace("/\[wmv\](.[^\[]*)\[\/wmv]/i", "<object align=\"middle\" classid=\"clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95\" class=\"object\" id=\"mediaplayer\" width=\"300\" height=\"200\" ><param name=\"showstatusbar\" value=\"-1\"><param name=\"filename\" value=\"\${1}\"><embed type=\"application/x-oleobject\" codebase=\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701\" flename=\"mp\" src=\"\${1}\"  width=\"300\" height=\"200\"></embed></object>", $str);
    $str = preg_replace("/\[wmv=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/wmv]/i", "<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>", $str);
    //REALPLAY 播放UBB
    $str = preg_replace("/\[rm\](.[^\[]*)\[\/rm]/i", "<object classid=\"clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa\" class=\"object\" id=\"raocx\" width=\"300\" height=\"200\"><param name=\"src\" value=\"\${1}\"><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=\"300\"><param name=\"src\" value=\"\${1}\"><param name=\"autostart\" value=\"-1\"><param name=\"controls\" value=\"controlpanel\"><param name=\"console\" value=\"clip1\"></object>", $str);
    $str = preg_replace("/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/i", "<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>", $str);
    $str = str_replace("\r\n", "<BR/>", $str);
    $str = preg_replace("/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/i", "<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>", $str);
    /*
    re.pattern="\[code\]((.|\n)*?)\[\/code\]"
    Set tempcodes=re.Execute($str)
    For i=0 To tempcodes.count-1
    re.pattern="<BR/>"
    tempcode=Replace(tempcodes(i),"<BR/>",vbcrlf)
    $str=replace($str,tempcodes(i),tempcode)
    next
    */
    $searcharray = array(
        "[/url]",
        "[/email]",
        "[/color]",
        "[/size]",
        "[/font]",
        "[/align]",
        "[b]",
        "[/b]",
        "[u]",
        "[/u]",
        "[list]",
        "[list=1]",
        "[list=a]",
        "[list=A]",
        "[*]",
        "[/list]",
        "[indent]",
        "[/indent]",
        "[ DISCUZ_CODE_0 ]",
        "[quote]",
        "[/quote]",
        "[tr]",
        "[td]",
        "[/td]",
        "[/tr]",
        "[/table]"
    );
    $replacearray = array(
        "</a>",
        "</a>",
        "</font>",
        "</font>",
        "</font>",
        "</div>",
        "<b>",
        "</b>",
        "<u>",
        "</u>",
        "<ul>",
        "<ol type=1>",
        "<ol type=a>",
        "<ol type=A>",
        "<li>",
        "</ul></ol>",
        "<blockquote>",
        "</blockquote>",
        "<div><textarea name=\"codes\" id=\"codes\" rows=\"12\" cols=\"65\">",
        "</textarea><br/><input type=\"button\" value=\"运行代码\" onclick=\"RunCode()\"> <input type=\"button\" value=\"复制代码\" onclick=\"CopyCode()\"> <input type=\"button\" value=\"另存代码\" onclick=\"SaveCode()\"> <input type=\"button\" value=\"跳  转\" onclick=\"Goto(prompt(&#39;请输入要跳转到第几行?&#39;,&#39;1&#39;))\"  accesskey=\"g\">  提示:您可以先修改部分代码再运行</div>",
        "<div style=\"background:#E2F2FF;width:90%;height:auto;border:1px solid #3CAAEC;padding:5px;\">",
        "</div>",
        "<tr>",
        "<td>",
        "</td>",
        "</tr>",
        "</table>"
    );
    for ($i = 0; $i < count($searcharray); $i++) {
        $str = str_replace($searcharray[$i], $replacearray[$i], $str);
    }
    return $str;
}
/*
 &#39;re.Pattern="\[UPLOAD=(gif|jpg|jpeg|bmp)\](.[^\[]*)(gif|jpg|jpeg|bmp)\[\/UPLOAD\]" 
 &#39;$str= re.Replace($str,"<br><IMG SRC=\"image/$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>") 
 &#39;re.Pattern="\[UPLOAD=(doc|xls|ppt|htm|swf|rar|zip|exe)\](.[^\[]*)(doc|xls|ppt|htm|swf|rar|zip|exe)\[\/UPLOAD\]" 
 &#39;$str= re.Replace($str,"<br><IMG SRC=\"image/$1.gif\" border=0>此主题相关链接如下:<br><a href=\"$2$1\" target=&#39;_blank&#39;>点击浏览该文件</a>") 
 &#39;自动识别网址 
 &#39;re.Pattern = "^((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\&#39;:+!]+)" 
 &#39;$str = re.Replace($str,"<img  align=absmiddle src=image/url.gif border=0 alt="php的把ubb代码转换成html代码的程序 " ><a target=_blank href=$1>$1</a>") 
 &#39;re.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\&#39;:+!]+)$" 
 &#39;$str = re.Replace($str,"<img  align=absmiddle src=image/url.gif border=0 alt="php的把ubb代码转换成html代码的程序 " ><a target=_blank href=$1>$1</a>") 
 &#39;re.Pattern = "([^>=\"])((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\&#39;:+!]+)" 
 &#39;$str = re.Replace($str,"$1<img  align=absmiddle src=image/url.gif border=0 alt="php的把ubb代码转换成html代码的程序 " ><a target=_blank href=$2>$2</a>") 
 &#39;自动识别www等开头的网址 
 &#39;re.Pattern = "([^(http://|http:\\)])((www|cn)[.](\w)+[.]{1,}(net|com|cn|org|cc)(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)" 
 &#39;$str = re.Replace($str,"<img  align=absmiddle src=image/url.gif border=0 alt="php的把ubb代码转换成html代码的程序 " ><a target=_blank href=http://$2>$2</a>") 
 &#39;re.Pattern="\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/SHADOW]" 
 &#39;$str=re.Replace($str,"<div style=\"width:$1;filter:shadow(color=$2, strength=$3)\">$4</div>") 
 &#39;re.Pattern="\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/GLOW]" 
 &#39;$str=re.Replace($str,"<div style=\"width:$1;filter:glow(color=$2, strength=$3)\">$4</div>") 
*/
?>


教程地址:

欢迎转载!但请带上文章地址^^

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn