一个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 str_replace的替换漏洞
Mar 15 PHP
php用数组返回无限分类的列表数据的代码
Aug 08 PHP
php方法调用模式与函数调用模式简例
Sep 20 PHP
php入门之连接mysql数据库的一个类
Apr 21 PHP
PHP使用静态方法的几个注意事项
Sep 16 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
PHP中使用正则表达式提取中文实现笔记
Jan 20 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
详解使用php调用微信接口上传永久素材
Apr 11 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
May 29 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 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中取得文件的后缀名?
2012/02/20 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
PHP 观察者模式的实现代码
2013/05/10 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
一组JS创建和操作表格的函数集合
2009/05/07 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
JS实现浏览上传文件的代码
2017/08/23 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
如何基于jQuery实现五角星评分
2020/09/02 jQuery
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
django和vue实现数据交互的方法
2019/08/21 Python
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
SQL Server面试题
2013/04/04 面试题
会计专业毕业生自我评价
2013/09/25 职场文书
文明村创建实施方案
2014/03/27 职场文书
少儿节目主持串词
2014/04/02 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
中学生评语大全
2014/04/18 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
Python import模块的缓存问题解决方案
2021/06/02 Python
python基础之类方法和静态方法
2021/10/24 Python