一个ubbcode的函数,速度很快.
程序员文章站
2024-01-08 08:04:40
...
前面见到有人发表
但是速度比较慢,也非常长
这里给出一种
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;
}
推荐阅读
-
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
-
一个ubbcode的函数,速度很快.
-
如何用自定义函数文件对另一个php里的函数重写
-
一个阿拉伯数字转中文数字的函数_PHP教程
-
make me cry make me smile 一个用于mysql的数据库抽象层函数库
-
vbs 函数 获取数组字符串的最后一个LastOne 挺方便的
-
成员函数-关于实例化一个类时占用的内存大小问题
-
一个简洁的PHP可逆加密函数(分享)_PHP
-
python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解
-
一个函数指针的例子--int (* FunctionFound(char op))(int ,int) ;