一个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 相关文章推荐
利用js调用后台php进行数据处理原码
Oct 09 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
php以post形式发送xml的方法
Nov 04 PHP
Codeigniter检测表单post数据的方法
Mar 21 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
php上传图片类及用法示例
May 11 PHP
php禁用函数设置及查看方法详解
Jul 25 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
Aug 11 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
php swoft框架实例用法
Dec 22 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 UTF8编码内的繁简转换类
2009/07/20 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
php编程每天必学之表单验证
2016/03/01 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
jquery中常用的SET和GET
2009/01/13 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
python删除文件示例分享
2014/01/28 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
SVM基本概念及Python实现代码
2017/12/27 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
Python为何不能用可变对象作为默认参数的值
2019/07/01 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
2020/03/10 Python
Python中and和or如何使用
2020/05/28 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
电子商务网站的创业计划书
2014/01/05 职场文书
建筑工程毕业生自我鉴定
2014/01/14 职场文书
促销活动总结报告
2014/04/26 职场文书
学校读书活动总结
2014/06/30 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
考试后的感想
2015/08/07 职场文书
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技