php UBB 解析实现代码


Posted in PHP onNovember 27, 2011
/** 
+---------------------------------------------------------- 
* UBB 解析 
+---------------------------------------------------------- 
* @return string 
+---------------------------------------------------------- 
*/ 
function ubb($Text) { 
$Text=trim($Text); 
$Text=ereg_replace("\n","<br>",$Text); 
$Text=preg_replace("/\\t/is"," ",$Text); 
$Text=preg_replace("/\[hr\]/is","<hr>",$Text); 
$Text=preg_replace("/\[separator\]/is","<br/>",$Text); 
$Text=preg_replace("/\[h1\](.+?)\[\/h1\]/is","<h1>\\1</h1>",$Text); 
$Text=preg_replace("/\[h2\](.+?)\[\/h2\]/is","<h2>\\1</h2>",$Text); 
$Text=preg_replace("/\[h3\](.+?)\[\/h3\]/is","<h3>\\1</h3>",$Text); 
$Text=preg_replace("/\[h4\](.+?)\[\/h4\]/is","<h4>\\1</h4>",$Text); 
$Text=preg_replace("/\[h5\](.+?)\[\/h5\]/is","<h5>\\1</h5>",$Text); 
$Text=preg_replace("/\[h6\](.+?)\[\/h6\]/is","<h6>\\1</h6>",$Text); 
$Text=preg_replace("/\[center\](.+?)\[\/center\]/is","<center>\\1</center>",$Text); 
//$Text=preg_replace("/\[url=([^\[]*)\](.+?)\[\/url\]/is","<a href=\\1 target='_blank'>\\2</a>",$Text); 
$Text=preg_replace("/\[url\](.+?)\[\/url\]/is","<a href=\"\\1\" target='_blank'>\\1</a>",$Text); 
$Text=preg_replace("/\[url=(http:\/\/.+?)\](.+?)\[\/url\]/is","<a href='\\1' target='_blank'>\\2</a>",$Text); 
$Text=preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/is","<a href=\\1>\\2</a>",$Text); 
$Text=preg_replace("/\[img\](.+?)\[\/img\]/is","<img src=\\1>",$Text); 
$Text=preg_replace("/\[img\s(.+?)\](.+?)\[\/img\]/is","<img \\1 src=\\2>",$Text); 
$Text=preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/is","<font color=\\1>\\2</font>",$Text); 
$Text=preg_replace("/\[colorTxt\](.+?)\[\/colorTxt\]/eis","color_txt('\\1')",$Text); 
$Text=preg_replace("/\[style=(.+?)\](.+?)\[\/style\]/is","<div class='\\1'>\\2</div>",$Text); 
$Text=preg_replace("/\[size=(.+?)\](.+?)\[\/size\]/is","<font size=\\1>\\2</font>",$Text); 
$Text=preg_replace("/\[sup\](.+?)\[\/sup\]/is","<sup>\\1</sup>",$Text); 
$Text=preg_replace("/\[sub\](.+?)\[\/sub\]/is","<sub>\\1</sub>",$Text); 
$Text=preg_replace("/\[pre\](.+?)\[\/pre\]/is","<pre>\\1</pre>",$Text); 
$Text=preg_replace("/\[emot\](.+?)\[\/emot\]/eis","emot('\\1')",$Text); 
$Text=preg_replace("/\[email\](.+?)\[\/email\]/is","<a href='mailto:\\1'>\\1</a>",$Text); 
$Text=preg_replace("/\[i\](.+?)\[\/i\]/is","<i>\\1</i>",$Text); 
$Text=preg_replace("/\[u\](.+?)\[\/u\]/is","<u>\\1</u>",$Text); 
$Text=preg_replace("/\[b\](.+?)\[\/b\]/is","<b>\\1</b>",$Text); 
$Text=preg_replace("/\[quote\](.+?)\[\/quote\]/is","<blockquote>引用:<div style='border:1px solid silver;background:#EFFFDF;color:#393939;padding:5px' >\\1</div></blockquote>", $Text); 
$Text=preg_replace("/\[code\](.+?)\[\/code\]/eis","highlight_code('\\1')", $Text); 
$Text=preg_replace("/\[php\](.+?)\[\/php\]/eis","highlight_code('\\1')", $Text); 
$Text=preg_replace("/\[sig\](.+?)\[\/sig\]/is","<div style='text-align: left; color: darkgreen; margin-left: 5%'><br><br>--------------------------<br>\\1<br>--------------------------</div>", $Text); 
return $Text; 
}
PHP 相关文章推荐
PHP5中的时间相差8小时的解决办法
Mar 28 PHP
PHP中10个不常见却非常有用的函数
Mar 21 PHP
php中存储用户ID和密码到mysql数据库的方法
Feb 06 PHP
php页面跳转代码 输入网址跳转到你定义的页面
Mar 28 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
Jun 09 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
Jan 08 PHP
php遍历解析xml字符串的方法
May 05 PHP
PHP从数组中删除元素的四种方法实例
May 12 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
php修改word的实例方法
Nov 17 PHP
PHP高自定义性安全验证码代码
Nov 27 #PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 #PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
Nov 25 #PHP
php 团购折扣计算公式
Nov 24 #PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 #PHP
打造超酷的PHP数据饼图效果实现代码
Nov 23 #PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
Nov 21 #PHP
You might like
php操作access数据库的方法详解
2017/02/22 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
2012/10/11 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
require.js中的define函数详解
2017/07/10 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
JS快速实现简单计算器
2020/04/08 Javascript
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
Python对象体系深入分析
2014/10/28 Python
python根据时间生成mongodb的ObjectId的方法
2015/03/13 Python
python中threading超线程用法实例分析
2015/05/16 Python
解决Python出现_warn_unsafe_extraction问题的方法
2016/03/24 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
解析Python3中的Import
2019/10/13 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
BeautifulSoup获取指定class样式的div的实现
2020/12/07 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
创建索引时需要注意的事项
2013/05/13 面试题
机工车间主任岗位职责
2014/03/05 职场文书
三方协议书范本
2014/04/22 职场文书
抽样调查项目计划书
2014/04/24 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
如何写观后感
2015/06/19 职场文书
运动会班级前导词
2015/07/20 职场文书
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL
Redis Cluster 集群搭建你会吗
2021/08/04 Redis