一个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 相关文章推荐
Apache设置虚拟WEB
Oct 09 PHP
pw的一个放后门的方法分析
Oct 08 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
Oct 31 PHP
php使用curl发送json格式数据实例
Dec 17 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 PHP
php遍历数组的4种方法总结
Jul 05 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
PHP批量生成图片缩略图的方法
Jun 18 PHP
php 利用socket发送HTTP请求(GET,POST)
Aug 24 PHP
php编译安装php-amq扩展简明教程
Jun 25 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
PHP 面向对象详解
2012/09/13 PHP
PHP 无限级分类
2017/05/04 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
ie focus bug 解决方法
2009/09/03 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
每天一篇javascript学习小结(String对象)
2015/11/18 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
js读取本地文件的实例
2017/12/22 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
Python中的包和模块实例
2014/11/22 Python
python利用dir函数查看类中所有成员函数示例代码
2017/09/08 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
python scatter函数用法实例详解
2020/02/11 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
CSS3实现图片抽屉式效果的示例代码
2019/11/06 HTML / CSS
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
英国第一蛋白粉品牌:Myprotein
2016/09/14 全球购物
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
医药大学生求职简历的自我评价
2013/10/17 职场文书
金融专业毕业生推荐信
2013/11/26 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
2015初中团支部工作总结
2015/07/21 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js