一个ubbcode的函数,速度很快.
author:一佰互联 2019-05-01   click:143
前面见到有人发表 但是速度比较慢,也非常长 这里给出一种 function ubb($str) {  $color=Array("red","blue","green"); $str=eregi_replace("[url]([a-zA-Z0-9@:%_.~#-?&]+)[/url]","<a href=http://\1>\1</a>",$str);//url $str=eregi_replace("[url=http://([a-zA-Z0-9@:%_.~#-?&]+)](.+)[/url]","<a href=\1 target=_blank>\2</a>",$str); $str=eregi_replace("[url=([a-zA-Z0-9@:%_.~#-?&]+)](.+)[/url]","<a href=http://\1 target=_blank>\2</a>",$str); $str=eregi_replace("[img]([a-zA-Z0-9@:%_.~#-?&]+)[/img]","<img src=http://\1>\1</img>",$str);//img $str=eregi_replace("[h([1-6])](.+)[/h[1-6]]","<h\1>\2</h\1>",$str);//h1-6 $str=eregi_replace("[email]([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})[/email]","<a href=mailto:\1>\1</a>",$str);//email $str=eregi_replace("[email=([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})](.+)[/email]","<a href=mailto:\1>\2</a>",$str); $str=eregi_replace("[b](.+)[/b]","<b>\1</b>",$str); $str=eregi_replace("[i](.+)[/i]","<i>\1</i>",$str); $str=eregi_replace("[size=(.+)](.+)[/size]","<font size=\1>\2</font>",$str); $str=eregi_replace("[color=(.+)](.+)[/color]","<font color=\1>\2</font>",$str); $str=eregi_replace("[sub](.+)[/sub]","<sub>\1</sup>",$str);//下裱 $str=eregi_replace("[sup](.+)[/sup]","<sup>\1</sup>",$str);//上标 for($i=0;$i<=count($color);$i++)$str=eregi_replace("[".$color[$i]."](.+)[/".$color[$i]."]","<font color=".$color[$i].">\1</font>",$str); $str=preg_replace("/[quote](.+?)[/quote]/is","<blockquote><font size="1" face="Courier New">quote:</font><hr>\1<hr></blockquote>", $str); $str=preg_replace("/[code](.+?)[/code]/is","<blockquote><font size="1" face="Times New Roman">code:</font><hr color="lightblue"><i>\1</i><hr color="lightblue"></blockquote>", $str); $str=preg_replace("/[sig](.+?)[/sig]/is","<div style="text-align: left;color: darkgreen;margin-left: 5%"><br><br>--------------------------<br>\1<br>--------------------------</div>", $str); return $str; }