一个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开发文件系统实例讲解
Oct 09 PHP
discuz程序的PHP加密函数原理分析
Aug 05 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
Oct 03 PHP
php输出xml格式字符串(用的这个)
Jul 12 PHP
php使用curl发送json格式数据实例
Dec 17 PHP
php实现可运算的验证码
Nov 10 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
PHP安装BCMath扩展的方法
Feb 13 PHP
详解php中curl返回false的解决办法
Mar 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
mayfish 数据入库验证代码
2010/04/30 PHP
PHP中对缓冲区的控制实现代码
2013/09/29 PHP
php使用codebase生成随机数
2014/03/25 PHP
thinkphp连贯操作实例分析
2014/11/22 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
走进javascript——不起眼的基础,值和分号
2017/02/24 Javascript
javascript 中的try catch应用总结
2017/04/01 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
JS实现简单的点赞与踩功能示例
2018/12/05 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
node.js通过url读取文件
2020/10/16 Javascript
初步解析Python下的多进程编程
2015/04/28 Python
python通过定义一个类实例作为ftp回调方法
2015/05/04 Python
Python读取键盘输入的2种方法
2015/06/16 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
实例详解Python装饰器与闭包
2019/07/29 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
PyQt5实现简单的计算器
2020/05/30 Python
家庭贫困证明
2014/09/23 职场文书
假期安全教育广播稿
2014/10/04 职场文书
社区党务工作总结2015
2015/05/19 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书
Win11 引入 Windows 365 云操作系统,适应疫情期间混合办公模式:启动时直接登录、模
2022/04/06 数码科技
Python字符串格式化方式
2022/04/07 Python