一个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 Class 文章
Apr 04 PHP
PHP合并数组+与array_merge的区别分析
Aug 01 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
Jun 19 PHP
cakephp打印sql语句的方法
Feb 13 PHP
PHP5.3新特性小结
Feb 14 PHP
php遍历解析xml字符串的方法
May 05 PHP
详解Yii2.0 rules验证规则集合
Mar 21 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
Jun 16 PHP
php高清晰度无损图片压缩功能的实现代码
Dec 09 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下封装较好的数字分页方法
2010/11/23 PHP
php在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
最全的Javascript编码规范(推荐)
2016/06/22 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
Smashbox官网:美国知名彩妆品牌
2017/01/05 全球购物
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
大一自我鉴定范文
2013/12/27 职场文书
户外婚礼策划方案
2014/02/08 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
美容院合作经营协议书
2014/10/10 职场文书
爱情保证书
2015/01/17 职场文书
语文教师求职信范文
2015/03/20 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
入党介绍人意见2015
2015/06/01 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL
Redis读写分离搭建的完整步骤
2021/09/14 Redis