一个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
PHP 和 MySQL 基础教程(一)
Oct 09 PHP
php+mysql分页代码详解
Mar 27 PHP
PHP 学习路线与时间表
Feb 21 PHP
joomla内置的表单验证功能使用方法
Jun 11 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
php创建、获取cookie及基础要点分析
Jan 26 PHP
php 时间time与日期date之间的使用详解及区别
Nov 07 PHP
CI(CodeIgniter)框架视图中加载视图的方法
Mar 24 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
50个优秀经典PHP算法大集合 附源码
Aug 26 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页面局部刷新功能的实现小结
2013/06/21 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
PHP调用全国天气预报数据接口查询天气示例
2019/02/20 PHP
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
javascript学习笔记(五)正则表达式
2011/04/08 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
SublimeText自带格式化代码功能之reindent
2015/12/27 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
react 生命周期实例分析
2020/05/18 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
Python自定义线程池实现方法分析
2018/02/07 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
Python调用百度根据经纬度查询地址的示例代码
2019/07/07 Python
python基于event实现线程间通信控制
2020/01/13 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
Python如何读写CSV文件
2020/08/13 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
淘宝店铺营销方案
2014/02/13 职场文书
学校工作推荐信范文
2014/07/11 职场文书
客户经理岗位职责
2015/01/31 职场文书
党支部考察意见范文
2015/06/02 职场文书
创业计划书介绍
2019/04/24 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python
Python实现排序方法常见的四种
2021/07/15 Python
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技