一个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 相关文章推荐
APMServ使用说明
Oct 23 PHP
php max_execution_time执行时间问题
Jul 17 PHP
php Smarty初体验二 获取配置信息
Aug 08 PHP
php操作JSON格式数据的实现代码
Dec 24 PHP
用PHP读取超大文件的实例代码
Apr 01 PHP
使用php统计字符串中中英文字符的个数
Jun 23 PHP
php获取操作系统语言代码
Nov 04 PHP
php获取远程文件的内容和大小
Nov 03 PHP
php生成Android客户端扫描可登录的二维码
May 13 PHP
php基于CodeIgniter实现图片上传、剪切功能
May 14 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
关于laravel后台模板laravel-admin select框的使用详解
Oct 03 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
JQuery实现绚丽的横向下拉菜单
2013/12/19 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
jQuery使用unlock.js插件实现滑动解锁
2017/04/04 jQuery
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
简单了解python中对象的取反运算符
2019/07/01 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
越南综合购物网站:Lazada越南
2019/06/10 全球购物
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
什么是方法的重载
2013/06/24 面试题
会计应聘求职信范文
2013/12/17 职场文书
自荐信的基本格式
2014/02/22 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
大学生推广普通话演讲稿
2014/09/21 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android