<?function htmlencode($fstring)
{
if ($fstring)
{
$fstring = str_replace(">",">",$fstring);
$fstring = str_replace("<","<",$fstring);
$fstring = str_replace(chr(32)," ",$fstring);
$fstring = str_replace(chr(34),""",$fstring);
$fstring = str_replace(chr(39),"'",$fstring);
$fstring = str_replace(chr(13),"",$fstring);
$fstring = str_replace(chr(10).chr(10),"</p><p>",$fstring);
$fstring = str_replace("\n","<br>",$fstring);
return $fstring;
}
}function htmlsc($fstring)
{
if ($fstring)
{
$fstring = str_replace("|","",$fstring);
$fstring = htmlencode($fstring);
return $fstring;
}
}
//内容
function ubb($message, $is_html="0",$is_ubb="1",$is_img="1",$is_aut="1",$is_emot="1")
{
// is_html是否支持html
global $USERID,$topicid,$is_contenthide;
$bordercolor = ""; //code的边颜色
$thisbg = ""; //code的背景颜色
if($is_html != "1") {
$message = htmlspecialchars($message);
} $message = nl2br($message);
$message = str_replace("\t", " ", $message);
$message = str_replace(" ", " ", $message);
$message = str_replace(" ", " ", $message); if($is_emot != "0") {
for($i=0;$i<63;$i++)
{
strlen($i)<2?$tmpcode = "em0".$i:$tmpcode = "em".$i;
$mmfile = $i+1;
strlen($mmfile)<2?$mmfile = "em0".$mmfile:$mmfile = "em".$mmfile;
$message = str_replace("[".$tmpcode."]", "<img src=\"./images/emot/$mmfile.gif\" align=\"absmiddle\" border=0>",$message);
}
} if($is_ubb != "0") {
$message =str_replace("","<u>",$message);
$message =str_replace("","</u>",$message);
$message =str_replace("","<b>",$message);
$message =str_replace("","</b>",$message); $message =str_replace("","<i>",$message);
$message =str_replace("","</i>",$message); $message = eregi_replace("\\[fly\\]([^\\[]*)\\[/fly\\]","<marquee width=\"90%\" behavior=\"alternate\" scrollamount=\"3\">\\1</marquee>", $message);
$message = eregi_replace("\\[move\\]([^\\[]*)\\[/move\\]","<marquee scrollamount=\"3\">\\1</marquee>", $message);
$message = preg_replace("/\[quote\](.+?)\[\/quote\]/is","<table cellpadding=0 cellspacing=0 border=0 WIDTH=94% bgcolor=#000000 align=center><tr><td><table width=100% cellpadding=5 cellspacing=1 border=0><TR><TD BGCOLOR=#EFF3F9>引用:<br>\\1</table></table>", $message);
$message = preg_replace("/\[code\](.+?)\[\/code\]/is","<center><table border=\"0\" width=\"90%\" cellspacing=\"0\" cellpadding=\"0\"><tr class=\"tablerow\"><td> 代码:</td></tr><tr class=\"tablerow\"><td><table border=\"0\" width=\"100%\" cellspacing=\"1\" cellpadding=\"10\" bgcolor=\"$bordercolor\"><tr class=\"tablerow\"><td width=\"100%\" bgcolor=\"$thisbg\"><pre>\\1</pre></td></tr></table></td></tr></table></center>", $message);
$message = preg_replace("/\[light\](.+?)\[\/light\]/is","<span style=\"behavior:url(./images/ubb/font.htc)\">\\1</span>", $message);
$message = preg_replace("/\[SOUND\](.+?)\[\/SOUND\]/is","<bgsound src=\\1 loop=-1><a href=\\1 target=_blank><IMG SRC=./images/mid.gif border=0 align=\"absmiddle\" alt=背景音乐></a>",$message); $message = str_replace("[list=1]","<ol type=1>",$message);
$message = str_replace("[list=a]","<ol type=A>",$message);
$message = str_replace("[list=A]","<ol type=A>",$message);
$message = str_replace("[/list=1]","</ol>",$message);
$message = str_replace("[/list=a]","</ol>",$message);
$message = str_replace("[/list=A]","</ol>",$message);
$message = str_replace("[*]","<li>",$message);
$message = eregi_replace("\\[list\\]([^\\[]*)\\[/list\\]","<ul type=square>\\1</ul>", $message);
$message = eregi_replace("\\[color=([^\\[]*)\\]([^\\[]*)\\[/color\\]","<font color=\"\\1\">\\2</font>",$message);
$message = eregi_replace("\\[size=([^\\[]*)\\]([^\\[]*)\\[/size\\]","<font size=\"\\1\">\\2</font>",$message);
$message = eregi_replace("\\[font=([^\\[]*)\\]([^\\[]*)\\[/font\\]","<font face=\"\\1\">\\2</font>",$message);
$message = eregi_replace("\\[align=([^\\[]*)\\]([^\\[]*)\\[/align\\]","<p align=\"\\1\">\\2</p>",$message);
$patterns = array();
$replacements = array();
$patterns[0] = "#\[url\]([a-z]+?://){1}(.*?)\[/url\]#si";
$replacements[0] = '<a href="\1\2" target="_blank">\1\2</a>';
$patterns[1] = "#\[url\](.*?)\[/url\]#si";
$replacements[1] = '<a href="http://\1" target="_blank">\1</a>';
$patterns[2] = "#\[url=([a-z]+?://){1}(.*?)\](.*?)\[/url\]#si";
$replacements[2] = '<a href="\1\2" target="_blank">\3</a>';
$patterns[3] = "#\[url=(.*?)\](.*?)\[/url\]#si";
$replacements[3] = '<a href="http://\1" target="_blank">\2</a>';
$patterns[4] = "/\[email\]([^\[]*)\[\/email\]/is";
$replacements[4] = "<a href=\"mailto:\\1\">\\1</a>";
$patterns[5] = "/\[email=([^\[]*)\](.+?)\[\/email\]/is";
$replacements[5] = "<a href=\"mailto:\\1\">\\2</a>";
$patterns[6] = "/(\[shadow=)(\S+?)(\,)(.+?)(\,)(.+?)(\])(.+?)(\[\/shadow\])/is";
$replacements[6] = "<table width=\\2 style=\"filter:shadow(color=\\4, direction=\\6 ,strength=2)\">\\8</table>";
$patterns[7] = "/(\[glow=)(\S+?)(\,)(.+?)(\,)(.+?)(\])(.+?)(\[\/glow\])/is";
$replacements[7] = "<table width=\\2 style=\"filter:glow(color=\\4, strength=\\6)\">\\8</table>";
$patterns[8] = "/\[rar\](.+?)\[\/rar\]/is";
$replacements[8] = "<a href=\"./upfiles/\\1\" target=_blank><img src=./images/attachicon/rar.gif border=0 align=absmiddle>点击下载附件</a>";
$patterns[9] = "/\[zip\](.+?)\[\/zip\]/is";
{
if ($fstring)
{
$fstring = str_replace(">",">",$fstring);
$fstring = str_replace("<","<",$fstring);
$fstring = str_replace(chr(32)," ",$fstring);
$fstring = str_replace(chr(34),""",$fstring);
$fstring = str_replace(chr(39),"'",$fstring);
$fstring = str_replace(chr(13),"",$fstring);
$fstring = str_replace(chr(10).chr(10),"</p><p>",$fstring);
$fstring = str_replace("\n","<br>",$fstring);
return $fstring;
}
}function htmlsc($fstring)
{
if ($fstring)
{
$fstring = str_replace("|","",$fstring);
$fstring = htmlencode($fstring);
return $fstring;
}
}
//内容
function ubb($message, $is_html="0",$is_ubb="1",$is_img="1",$is_aut="1",$is_emot="1")
{
// is_html是否支持html
global $USERID,$topicid,$is_contenthide;
$bordercolor = ""; //code的边颜色
$thisbg = ""; //code的背景颜色
if($is_html != "1") {
$message = htmlspecialchars($message);
} $message = nl2br($message);
$message = str_replace("\t", " ", $message);
$message = str_replace(" ", " ", $message);
$message = str_replace(" ", " ", $message); if($is_emot != "0") {
for($i=0;$i<63;$i++)
{
strlen($i)<2?$tmpcode = "em0".$i:$tmpcode = "em".$i;
$mmfile = $i+1;
strlen($mmfile)<2?$mmfile = "em0".$mmfile:$mmfile = "em".$mmfile;
$message = str_replace("[".$tmpcode."]", "<img src=\"./images/emot/$mmfile.gif\" align=\"absmiddle\" border=0>",$message);
}
} if($is_ubb != "0") {
$message =str_replace("","<u>",$message);
$message =str_replace("","</u>",$message);
$message =str_replace("","<b>",$message);
$message =str_replace("","</b>",$message); $message =str_replace("","<i>",$message);
$message =str_replace("","</i>",$message); $message = eregi_replace("\\[fly\\]([^\\[]*)\\[/fly\\]","<marquee width=\"90%\" behavior=\"alternate\" scrollamount=\"3\">\\1</marquee>", $message);
$message = eregi_replace("\\[move\\]([^\\[]*)\\[/move\\]","<marquee scrollamount=\"3\">\\1</marquee>", $message);
$message = preg_replace("/\[quote\](.+?)\[\/quote\]/is","<table cellpadding=0 cellspacing=0 border=0 WIDTH=94% bgcolor=#000000 align=center><tr><td><table width=100% cellpadding=5 cellspacing=1 border=0><TR><TD BGCOLOR=#EFF3F9>引用:<br>\\1</table></table>", $message);
$message = preg_replace("/\[code\](.+?)\[\/code\]/is","<center><table border=\"0\" width=\"90%\" cellspacing=\"0\" cellpadding=\"0\"><tr class=\"tablerow\"><td> 代码:</td></tr><tr class=\"tablerow\"><td><table border=\"0\" width=\"100%\" cellspacing=\"1\" cellpadding=\"10\" bgcolor=\"$bordercolor\"><tr class=\"tablerow\"><td width=\"100%\" bgcolor=\"$thisbg\"><pre>\\1</pre></td></tr></table></td></tr></table></center>", $message);
$message = preg_replace("/\[light\](.+?)\[\/light\]/is","<span style=\"behavior:url(./images/ubb/font.htc)\">\\1</span>", $message);
$message = preg_replace("/\[SOUND\](.+?)\[\/SOUND\]/is","<bgsound src=\\1 loop=-1><a href=\\1 target=_blank><IMG SRC=./images/mid.gif border=0 align=\"absmiddle\" alt=背景音乐></a>",$message); $message = str_replace("[list=1]","<ol type=1>",$message);
$message = str_replace("[list=a]","<ol type=A>",$message);
$message = str_replace("[list=A]","<ol type=A>",$message);
$message = str_replace("[/list=1]","</ol>",$message);
$message = str_replace("[/list=a]","</ol>",$message);
$message = str_replace("[/list=A]","</ol>",$message);
$message = str_replace("[*]","<li>",$message);
$message = eregi_replace("\\[list\\]([^\\[]*)\\[/list\\]","<ul type=square>\\1</ul>", $message);
$message = eregi_replace("\\[color=([^\\[]*)\\]([^\\[]*)\\[/color\\]","<font color=\"\\1\">\\2</font>",$message);
$message = eregi_replace("\\[size=([^\\[]*)\\]([^\\[]*)\\[/size\\]","<font size=\"\\1\">\\2</font>",$message);
$message = eregi_replace("\\[font=([^\\[]*)\\]([^\\[]*)\\[/font\\]","<font face=\"\\1\">\\2</font>",$message);
$message = eregi_replace("\\[align=([^\\[]*)\\]([^\\[]*)\\[/align\\]","<p align=\"\\1\">\\2</p>",$message);
$patterns = array();
$replacements = array();
$patterns[0] = "#\[url\]([a-z]+?://){1}(.*?)\[/url\]#si";
$replacements[0] = '<a href="\1\2" target="_blank">\1\2</a>';
$patterns[1] = "#\[url\](.*?)\[/url\]#si";
$replacements[1] = '<a href="http://\1" target="_blank">\1</a>';
$patterns[2] = "#\[url=([a-z]+?://){1}(.*?)\](.*?)\[/url\]#si";
$replacements[2] = '<a href="\1\2" target="_blank">\3</a>';
$patterns[3] = "#\[url=(.*?)\](.*?)\[/url\]#si";
$replacements[3] = '<a href="http://\1" target="_blank">\2</a>';
$patterns[4] = "/\[email\]([^\[]*)\[\/email\]/is";
$replacements[4] = "<a href=\"mailto:\\1\">\\1</a>";
$patterns[5] = "/\[email=([^\[]*)\](.+?)\[\/email\]/is";
$replacements[5] = "<a href=\"mailto:\\1\">\\2</a>";
$patterns[6] = "/(\[shadow=)(\S+?)(\,)(.+?)(\,)(.+?)(\])(.+?)(\[\/shadow\])/is";
$replacements[6] = "<table width=\\2 style=\"filter:shadow(color=\\4, direction=\\6 ,strength=2)\">\\8</table>";
$patterns[7] = "/(\[glow=)(\S+?)(\,)(.+?)(\,)(.+?)(\])(.+?)(\[\/glow\])/is";
$replacements[7] = "<table width=\\2 style=\"filter:glow(color=\\4, strength=\\6)\">\\8</table>";
$patterns[8] = "/\[rar\](.+?)\[\/rar\]/is";
$replacements[8] = "<a href=\"./upfiles/\\1\" target=_blank><img src=./images/attachicon/rar.gif border=0 align=absmiddle>点击下载附件</a>";
$patterns[9] = "/\[zip\](.+?)\[\/zip\]/is";
$patterns[10] = "/\[text\](.+?)\[\/text\]/is";
$replacements[10] = "<a href=\"./upfiles/\\1\" target=_blank><img src=./images/attachicon/text.gif border=0 align=absmiddle>点击下载附件</a>";
$patterns[11] = "/\[uploadimg\](.+?)\[\/uploadimg\]/is";
$replacements[11] = "<br><a href=\"./upfiles/\\1\" target=_blank><img src=\"./upfiles/\\1\" border=0 align=absmiddle target=_blank alt=\"点击查看\" onload=\"javascript:if(this.width>screen.width-250)this.width=screen.width-250\"></a><br>";
$patterns[12] = "/\[uploadmid\](.+?)\[\/uploadmid\]/is";
$replacements[12] = "<a href=\"./upfiles/\\1\" target=_blank><img src=./images/attachicon/av.gif border=0 align=absmiddle>点击打开附件</a>";
$message = preg_replace($patterns, $replacements, $message); if(!empty($topicid))
if(preg_match("/\[hide=?\d*\].+?\[\/hide\]/is", $message))
{
if(strstr($message, '[hide]'))
{
//$query = $db->query("SELECT COUNT(*) FROM $table_posts WHERE tid='$tid' AND author='$discuz_user'");
if($ismoderator || $db->result($query, 0))
{
$message = preg_replace("/\[hide\]\s*(.+?)\s*\[\/hide\]/is", "<span class=\"bold\">Below Message for Repliers</span><br>==============================<br><br>\\1<br><br>==============================", $message);
}
else
{
$message = preg_replace("/\[hide\](.+?)\[\/hide\]/is", "<b>**** Hidden to Non-Reply Visitors *****</b>", $message);
}
}
$message = preg_replace("/\[hide=(\d+)\]\s*(.+?)\s*\[\/hide\]/ies", "credithide(\\1,'\\2')", $message);
}
/*
if(!empty($topicid))
if(eregi("[hide]", $message) && eregi("[/hide]", $message) && $is_contenthide <> 1)
{
$query = mysql_query("SELECT userid FROM bbs_forum WHERE mtid=$topicid");
$showed = 0;
while($result = mysql_fetch_array($query))
if($result[userid] == $USERID)
{
$message = eregi_replace("\\[hide\\]([^\\[]*)\\[/hide\\]","\\1", $message);
$showed = 1;
break;
}
if(!$showed) {
$message = eregi_replace("\\[hide\\]([^\\[]*)\\[/hide\\]","<b>**** 隐藏信息 跟贴后才能显示 *****</b>", $message);
}
}*/
} if($is_img == "1")
{
$message = preg_replace("/\[img\]\s*(\S+?)\s*\[\/img\]/is","<A HREF=\\1 TARGET=_blank title=新窗口打开图片><img src=\\1 border=0 onload=\"javascript:if(this.width>screen.width-250)this.width=screen.width-250\"></a><br><br>", $message);
$message = preg_replace("/\[img=(\d+?)x(\d+?)\]\s*([A-Za-z0-9\/\-_.~&?=@#:;]+)\s*\[\/img\]/is","<a href=\"\\3\" target=\"_blank\"><img width=\"\\1\" height=\"\\2\" src=\"http://\\3\" border=\"0\"></a>", $message);
}
if($is_aut == "1") {
$message = preg_replace("/(\[swf\])\s*(\S+?\.swf)\s*(\[\/swf\])/is","<PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><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\"></embed>", $message);
$message = preg_replace("/(\[FLASH=)(\S+?)(\,)(\S+?)(\])(\S+?)(\[\/FLASH\])/is","<OBJECT CLASSID=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" WIDTH=\\2 HEIGHT=\\4><PARAM NAME=MOVIE VALUE=\\6><PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><EMBED SRC=\\6 WIDTH=\\2 HEIGHT=\\4 PLAY=TRUE LOOP=TRUE QUALITY=HIGH></EMBED></OBJECT>", $message);
$message = preg_replace("/(\[wmv=)(\S+?)(\,)(\S+?)(\])(\S+?)(\[\/wmv\])/is", "<EMBED src=\\6 HEIGHT=\"\\4\" WIDTH=\"\\2\" AutoStart=0 ></EMBED>", $message);
$message = preg_replace("/\[mid\]\s*(\S+?)\s*\[\/mid\]/is", "<EMBED src=\\1 HEIGHT=\"45\" WIDTH=\"314\" AutoStart=0 ></EMBED>", $message);
$message = preg_replace("/\[ra\]\s*(\S+?)\s*\[\/ra\]/is", "
<object classid=\"clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA\" id=\"RAOCX\" width=\"253\" height=\"60\">
<param name=\"_ExtentX\" value=\"6694\">
<param name=\"_ExtentY\" value=\"1588\">
<param name=\"AUTOSTART\" value=\"0\">
<param name=\"SHUFFLE\" value=\"0\">
<param name=\"PREFETCH\" value=\"0\">
<param name=\"NOLABELS\" value=\"0\">
<param name=\"SRC\" value=\"\\1\">
<param name=\"CONTROLS\" value=\"StatusBar,ControlPanel\">
<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\">
<embed src=\"\\1\" width=\"253\" autostart=\"true\" height=\"60\">
</embed>
</object>", $message);
$message = preg_replace("/(\[rm=)(\S+?)(\,)(\S+?)(\])(\S+?)(\[\/rm\])/is", "
<object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=\\4 id=Player width=\\2 VIEWASTEXT>
<param name=\"_ExtentX\" value=\"12726\">
<param name=\"_ExtentY\" value=\"8520\">
<param name=\"AUTOSTART\" value=\"0\">
<param name=\"SHUFFLE\" value=\"0\">
<param name=\"PREFETCH\" value=\"0\">
<param name=\"NOLABELS\" value=\"0\">
<param name=\"CONTROLS\" value=\"ImageWindow\">
<param name=\"CONSOLE\" value=\"_master\">
<param name=\"LOOP\" value=\"0\">
<param name=\"NUMLOOP\" value=\"0\">
<param name=\"CENTER\" value=\"0\">
<param name=\"MAINTAINASPECT\" value=\"\\6\">
<param name=\"BACKGROUNDCOLOR\" value=\"#000000\">
</object><br>
<object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=32 id=Player width=\\2 VIEWASTEXT>
<param name=\"_ExtentX\" value=\"18256\">
<param name=\"_ExtentY\" value=\"794\">
<param name=\"AUTOSTART\" value=\"-1\">
<param name=\"SHUFFLE\" value=\"0\">
<param name=\"PREFETCH\" value=\"0\">
<param name=\"NOLABELS\" value=\"0\">
<param name=\"CONTROLS\" value=\"controlpanel\">
<param name=\"CONSOLE\" value=\"_master\">
<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=\"\\6\">
</object>", $message); }
$message = preg_replace("/(?<!\"|=)(http|ftp|telnet):\/\/([A-Za-z0-9\/\-_.~&?=@#:;]+)/is","<a href=\"\\1://\\2\" target=\"_blank\">\\1://\\2</a>",$message);
//$message = preg_replace("/([A-Za-z0-9\-_.]+)@([A-Za-z0-9\-_.]+)/is","<a href=\"mailto:\\1@\\2\">\\1@\\2</a>",$message);
// $message = preg_replace("/(?<!mailto:)([A-Za-z0-9\-_.]+)@([A-Za-z0-9\-_.]+)/is","<a href=\"mailto:\\1@\\2\">\\1@\\2</a>",$message); return $message;
}?>