标题: 一个ubbcode的函数,速度很快.
问天
元帅
Rank: 1


元帅勋章 终身成就勋章
UID 11493
精华 187
积分 34221
帖子 33355
威望 91
金币 13148
热心 2619
阅读权限 100
注册 2006-4-7
状态 离线
一个ubbcode的函数,速度很快.

前面见到有人发表
但是速度比较慢,也非常长
这里给出一种

function ubb($str) {  
$color=Array('red','blue','green');
$str=eregi_replace('\[url\]([a-zA-Z0-9@:%_."#-\?&;amp;] )\[\/url\]','<a href=http://\\1>\\1</a>',$str);//url
$str=eregi_replace('\[url=http://([a-zA-Z0-9@:%_."#-\?&;amp;] )\](. )\[\/url\]','<a href=\\1 target=_blank>\\2</a>',$str);
$str=eregi_replace('\[url=([a-zA-Z0-9@:%_."#-\?&;amp;] )\](. )\[\/url\]','<a href=http://\\1 target=_blank>\\2</a>',$str);
$str=eregi_replace('\[img\]([a-zA-Z0-9@:%_."#-\?&;amp;] )\[\/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\]','<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;
}  
转自:动态网制作指南 www.knowsky.com

网友 问天 签名 - 网友社区 请您回个帖。谢谢
PR查询 免费域名 免费空间
顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-11-21 11:56
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP