快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

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

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;

返回类别: 教程
上一教程: 一个简朴的图形计数器
下一教程: 用libtemplate实现静态网页生成

您可以阅读与"一个ubbcode的函数,速度很快."相关的教程:
· 自己写的一个UBB转变的函数
· PHP中一个控制字符串输出的函数
· 一个取得文件扩展名的函数
· 一个全面获取图象信息的函数getImageInfo()
· 一个阿拉伯数字转中文数字的函数
    微笑服务 优质保证 索取样品