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


Posted in PHP onOctober 09, 2006

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

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;

PHP 相关文章推荐
PHP 读取Postgresql中的数组
Apr 14 PHP
PHP使用CURL获取302跳转后的地址实例
May 04 PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
PHP导出Excel实例讲解
Jan 24 PHP
Yii rules常用规则示例
Mar 15 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
May 15 PHP
ThinkPHP删除栏目(实现批量删除栏目)
Jun 21 PHP
php基于环形链表解决约瑟夫环问题示例
Nov 07 PHP
PHP常量define和const的区别详解
May 18 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
Laravel框架源码解析之模型Model原理与用法解析
May 14 PHP
PHP中动态HTML的输出技术
Oct 09 #PHP
也谈截取首页新闻 - 范例
Oct 09 #PHP
PHP4实际应用经验篇(6)
Oct 09 #PHP
PHP4实际应用经验篇(7)
Oct 09 #PHP
PHP4实际应用经验篇(9)
Oct 09 #PHP
PHP4实际应用经验篇(8)
Oct 09 #PHP
一个简单的MySQL数据浏览器
Oct 09 #PHP
You might like
yii框架配置默认controller和action示例
2014/04/30 PHP
php的ddos攻击解决方法
2015/01/08 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
Vue快速实现通用表单验证的示例代码
2020/01/09 Javascript
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
如何通过Python实现标签云算法
2019/07/02 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
关于Python3爬虫利器Appium的安装步骤
2020/07/29 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
波兰补充商店:Muscle Power
2018/10/29 全球购物
三年级科学教学反思
2014/01/29 职场文书
销售业务员岗位职责
2014/01/29 职场文书
电焊工岗位职责
2014/03/06 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
停课通知书
2015/04/24 职场文书
小学一年级数学教学反思
2016/02/16 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers