一个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 相关文章推荐
escape unescape的php下的实现方法
Apr 27 PHP
PHP静态新闻列表自动生成代码
Jun 14 PHP
PHP+JS+rsa数据加密传输实现代码
Mar 23 PHP
php class中self,parent,this的区别以及实例介绍
Apr 24 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
PHP 搜索查询功能实现
Nov 29 PHP
PHP 表单提交及处理表单数据详解及实例
Dec 27 PHP
php实现留言板功能(代码详解)
Mar 28 PHP
php简单中奖算法(实例)
Aug 15 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
Laravel 框架返回状态拦截代码
Oct 18 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
杏林同学录(二)
2006/10/09 PHP
php在线生成ico文件的代码
2007/10/09 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
Js sort排序使用方法
2011/10/17 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
2017/03/23 jQuery
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
python中去空格函数的用法
2014/08/21 Python
python正则分析nginx的访问日志
2017/01/17 Python
Python正则表达式经典入门教程
2017/05/22 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
Python计算不规则图形面积算法实现解析
2019/11/22 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
创业计划书如何编写
2014/02/06 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
在校证明模板
2015/06/17 职场文书
2015元旦感言
2015/12/09 职场文书
详解mysql三值逻辑与NULL
2021/05/19 MySQL
nginx+lua单机上万并发的实现
2021/05/31 Servers