php的把ubb代码转换成html代码的程序_PHP教程
程序员文章站
2022-06-13 16:58:03
...
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", "300)this.width=300\">", $str);
$str = preg_replace("/\[img=*([0-9]*),*([0-9]*)\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]/i", "300)this.width=300\">", $str);
$str = preg_replace("/(\[img\])images\/face\/em(.*?)\.gif(\[\/img\])/i", "", $str);
//链接UBB
$str = preg_replace("/(\[url\])(.[^\[]*)(\[url\])/i", "\${1}", $str);
$str = preg_replace("/\[url=(.[^\[]*)\]/i", "", $str);
//邮箱UBB
$str = preg_replace("/(\[email\])(.*?)(\[\/email\])/i", "mailto:\${2}\">\${2}>", $str);
$str = preg_replace("/\[email=(.[^\[]*)\]/i", "mailto:\${1}\" target=\"new\">", $str);
//QQ号码UBB
$str = preg_replace("/\[qq=([0-9]*)\]([0-9]*)\[\/qq\]/i", "http://wpa.qq.com/pa?p=1:\${2}:\${1}\" alt=\"点击这里给我发消息\">", $str);
//颜色UBB
$str = preg_replace("/\[color=(.[^\[]*)\]/i", "", $str);
//文字字体UBB
$str = preg_replace("/\[font=(.[^\[]*)\]/i", "", $str);
//文字大小UBB
$str = preg_replace("/\[size=([0-9]*)\]/i", "", $str);
$str = preg_replace("/\[size=([0-9]*)pt\]/i", "", $str);
$str = preg_replace("/\[size=([0-9]*)px\]/i", "", $str);
//文字对齐方式UBB
$str = preg_replace("/\[align=(center|left|right)\]/i", "
//$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", "300)this.width=300\">", $str);
$str = preg_replace("/\[img=*([0-9]*),*([0-9]*)\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]/i", "300)this.width=300\">", $str);
$str = preg_replace("/(\[img\])images\/face\/em(.*?)\.gif(\[\/img\])/i", "", $str);
//链接UBB
$str = preg_replace("/(\[url\])(.[^\[]*)(\[url\])/i", "\${1}", $str);
$str = preg_replace("/\[url=(.[^\[]*)\]/i", "", $str);
//邮箱UBB
$str = preg_replace("/(\[email\])(.*?)(\[\/email\])/i", "mailto:\${2}\">\${2}>", $str);
$str = preg_replace("/\[email=(.[^\[]*)\]/i", "mailto:\${1}\" target=\"new\">", $str);
//QQ号码UBB
$str = preg_replace("/\[qq=([0-9]*)\]([0-9]*)\[\/qq\]/i", "http://wpa.qq.com/pa?p=1:\${2}:\${1}\" alt=\"点击这里给我发消息\">", $str);
//颜色UBB
$str = preg_replace("/\[color=(.[^\[]*)\]/i", "", $str);
//文字字体UBB
$str = preg_replace("/\[font=(.[^\[]*)\]/i", "", $str);
//文字大小UBB
$str = preg_replace("/\[size=([0-9]*)\]/i", "", $str);
$str = preg_replace("/\[size=([0-9]*)pt\]/i", "", $str);
$str = preg_replace("/\[size=([0-9]*)px\]/i", "", $str);
//文字对齐方式UBB
$str = preg_replace("/\[align=(center|left|right)\]/i", "
", $str);
//表格UBB
//$str = preg_replace("/\[table=(.[^\[]*)\]/i", "", $str);
");
for ($i=0; $i
$str = str_replace($searcharray[$i], $replacearray[$i], $str);
}
return $str;
}
/*
're.Pattern="\[UPLOAD=(gif|jpg|jpeg|bmp)\](.[^\[]*)(gif|jpg|jpeg|bmp)\[\/UPLOAD\]"
'$str= re.Replace($str,"
此主题相关链接如下:
screen.width-333)this.width=screen.width-333\">")
're.Pattern="\[UPLOAD=(doc|xls|ppt|htm|swf|rar|zip|exe)\](.[^\[]*)(doc|xls|ppt|htm|swf|rar|zip|exe)\[\/UPLOAD\]"
'$str= re.Replace($str,"
此主题相关链接如下:
点击浏览该文件")
'自动识别网址
're.Pattern = "^((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)"
'$str = re.Replace($str,"$1")
're.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)$"
'$str = re.Replace($str,"$1")
're.Pattern = "([^>=\"])((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)"
'$str = re.Replace($str,"$1$2")
'自动识别www等开头的网址
're.Pattern = "([^(http://|http:\\)])((www|cn)[.](\w)+[.]{1,}(net|com|cn|org|cc)(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)"
'$str = re.Replace($str,"$2")
're.Pattern="\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/SHADOW]"
'$str=re.Replace($str,"
're.Pattern="\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/GLOW]"
'$str=re.Replace($str,"
*/
?>
//表格UBB
//$str = preg_replace("/\[table=(.[^\[]*)\]/i", "
", $str); //字体倾斜 $str = preg_replace("/\[i\]((.|\n)*?)\[\/i\]/i", "\${1}", $str); //FLASH动画UBB $str = preg_replace("/(\[flash\])(http:\/\/.[^\[]*(.swf))(\[\/flash\])/i", "[全屏欣赏] $str = preg_replace("/(\[flash=*([0-9]*),*([0-9]*)\])(http:\/\/.[^\[]*(.swf))(\[\/flash\])/i", "[全屏欣赏] //MEDIA PLAY播放UBB $str = preg_replace("/\[wmv\](.[^\[]*)\[\/wmv]/i", "", $str); $str = preg_replace("/\[wmv=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/wmv]/i", "", $str); //REALPLAY 播放UBB $str = preg_replace("/\[rm\](.[^\[]*)\[\/rm]/i", " ", $str); $str = preg_replace("/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/i", " ", $str); $str = str_replace("\r\n", " ", $str); $str = preg_replace("/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/i", " ", $str); /* re.pattern="\[code\]((.|\n)*?)\[\/code\]" Set tempcodes=re.Execute($str) For i=0 To tempcodes.count-1 re.pattern=" " tempcode=Replace(tempcodes(i)," ",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("","","", "", "", "", "", "","", "", "
", ""," 提示:您可以先修改部分代码再运行 "," ",""," | "," |
for ($i=0; $i
}
return $str;
}
/*
're.Pattern="\[UPLOAD=(gif|jpg|jpeg|bmp)\](.[^\[]*)(gif|jpg|jpeg|bmp)\[\/UPLOAD\]"
'$str= re.Replace($str,"
此主题相关链接如下:
screen.width-333)this.width=screen.width-333\">")
're.Pattern="\[UPLOAD=(doc|xls|ppt|htm|swf|rar|zip|exe)\](.[^\[]*)(doc|xls|ppt|htm|swf|rar|zip|exe)\[\/UPLOAD\]"
'$str= re.Replace($str,"
此主题相关链接如下:
点击浏览该文件")
'自动识别网址
're.Pattern = "^((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)"
'$str = re.Replace($str,"$1")
're.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)$"
'$str = re.Replace($str,"$1")
're.Pattern = "([^>=\"])((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)"
'$str = re.Replace($str,"$1$2")
'自动识别www等开头的网址
're.Pattern = "([^(http://|http:\\)])((www|cn)[.](\w)+[.]{1,}(net|com|cn|org|cc)(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)"
'$str = re.Replace($str,"$2")
're.Pattern="\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/SHADOW]"
'$str=re.Replace($str,"
$4
")'re.Pattern="\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/GLOW]"
'$str=re.Replace($str,"
$4
")*/
?>