一个ubbcode的函数,速度很快._PHP
程序员文章站
2022-05-30 09:54:30
...
前面见到有人发表
但是速度比较慢,也非常长
这里给出一种
function ubb($str) {
$color=Array('red','blue','green');
$str=eregi_replace('\[url\]([a-zA-Z0-9@:%_.~#-\?&] )\[\/url\]','\\1',$str);//url
$str=eregi_replace('\[url=http://([a-zA-Z0-9@:%_.~#-\?&] )\](. )\[\/url\]','\\2',$str);
$str=eregi_replace('\[url=([a-zA-Z0-9@:%_.~#-\?&] )\](. )\[\/url\]','\\2',$str);
$str=eregi_replace('\[img\]([a-zA-Z0-9@:%_.~#-\?&] )\[\/img\]','\\1',$str);//img
$str=eregi_replace('\[h([1-6])\](. )\[\/h[1-6]\]','\\2 \\1>',$str);//h1-6
$str=eregi_replace('\[email\]([_\.0-9a-z-] @([0-9a-z][0-9a-z-] \.) [a-z]{2,3})\[\/email\]','\\1',$str);//email
$str=eregi_replace('\[email=([_\.0-9a-z-] @([0-9a-z][0-9a-z-] \.) [a-z]{2,3})\](. )\[\/email\]','\\2',$str);
$str=eregi_replace('\[b\](. )\[\/b\]','\\1',$str);
$str=eregi_replace('\[i\](. )\[\/i\]','\\1',$str);
$str=eregi_replace('\[size=(. )\](. )\[\/size\]','\\2',$str);
$str=eregi_replace('\[color=(. )\](. )\[\/color\]','\\2',$str);
$str=eregi_replace('\[sub\](. )\[\/sub\]','\\1',$str);//下裱
$str=eregi_replace('\[sup\](. )\[\/sup\]','\\1',$str);//上标
for($i=0;$i\\1',$str);
$str=preg_replace("/\[quote\](. ?)\[\/quote\]/is","
$str=preg_replace("/\[code\](. ?)\[\/code\]/is","
$str=preg_replace("/\[sig\](. ?)\[\/sig\]/is","
--------------------------
\\1
--------------------------", $str);
return $str;
}
但是速度比较慢,也非常长
这里给出一种
function ubb($str) {
$color=Array('red','blue','green');
$str=eregi_replace('\[url\]([a-zA-Z0-9@:%_.~#-\?&] )\[\/url\]','\\1',$str);//url
$str=eregi_replace('\[url=http://([a-zA-Z0-9@:%_.~#-\?&] )\](. )\[\/url\]','\\2',$str);
$str=eregi_replace('\[url=([a-zA-Z0-9@:%_.~#-\?&] )\](. )\[\/url\]','\\2',$str);
$str=eregi_replace('\[img\]([a-zA-Z0-9@:%_.~#-\?&] )\[\/img\]','\\1',$str);//img
$str=eregi_replace('\[h([1-6])\](. )\[\/h[1-6]\]','
$str=eregi_replace('\[email\]([_\.0-9a-z-] @([0-9a-z][0-9a-z-] \.) [a-z]{2,3})\[\/email\]','\\1',$str);//email
$str=eregi_replace('\[email=([_\.0-9a-z-] @([0-9a-z][0-9a-z-] \.) [a-z]{2,3})\](. )\[\/email\]','\\2',$str);
$str=eregi_replace('\[b\](. )\[\/b\]','\\1',$str);
$str=eregi_replace('\[i\](. )\[\/i\]','\\1',$str);
$str=eregi_replace('\[size=(. )\](. )\[\/size\]','\\2',$str);
$str=eregi_replace('\[color=(. )\](. )\[\/color\]','\\2',$str);
$str=eregi_replace('\[sub\](. )\[\/sub\]','\\1',$str);//下裱
$str=eregi_replace('\[sup\](. )\[\/sup\]','\\1',$str);//上标
for($i=0;$i\\1',$str);
$str=preg_replace("/\[quote\](. ?)\[\/quote\]/is","
quote:", $str);
\\1
$str=preg_replace("/\[code\](. ?)\[\/code\]/is","
code:", $str);
\\1
$str=preg_replace("/\[sig\](. ?)\[\/sig\]/is","
--------------------------
\\1
--------------------------
return $str;
}