当前位置:编程学习 > php >>

一个ubbcode的函数,速度很快.

前面见到有人发表
但是速度比较慢,也非常长
这里给出一种
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,$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<=count($color);$i++)$str=eregi_replace([.$color[$i].](.+)[/.$color[$i].],\1,$str);
$str=preg_replace("/[quote](.+?)[/quote]/is","
quote:
\1
", $str);
$str=preg_replace("/[code](.+?)[/code]/is","
code:
\1
", $str);
$str=preg_replace("/[sig](.+?)[/sig]/is","
--------------------------
\1
--------------------------", $str);
return $str;
}
补充:Web开发 , php ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,