一个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中的实现trim函数代码
Mar 19 PHP
关于PHP中Object对象的笔记分享
Jun 28 PHP
php中用foreach来操作数组的代码
Jul 17 PHP
pdo中使用参数化查询sql
Aug 11 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
linux下编译安装memcached服务
Aug 03 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
浅谈Laravel中的三种中间件的作用
Oct 13 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
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
PHP实现倒计时功能
2020/11/16 PHP
Date对象格式化函数代码
2010/07/17 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
ES6对象操作实例详解
2020/05/23 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
python调用fortran模块
2016/04/08 Python
三个python爬虫项目实例代码
2019/12/28 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
Python 可视化神器Plotly详解
2020/12/26 Python
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
英国医生在线预约:Top Doctors
2019/10/30 全球购物
拓展策划方案
2014/06/03 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
工作年限证明模板
2014/11/01 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
关于的python五子棋的算法
2022/05/02 Python
Mysql 一主多从的部署
2022/05/20 MySQL
mysql函数之截取字符串的实现
2022/08/14 MySQL