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 相关文章推荐
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
php读取目录所有文件信息dir示例
Mar 18 PHP
ThinkPHP模板比较标签用法详解
Jun 30 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
PHP中static关键字以及与self关键字的区别
Jul 01 PHP
php求一个网段开始与结束IP地址的方法
Jul 09 PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 PHP
php+ajax无刷新上传图片实例代码
Nov 17 PHP
PHP动态生成指定大小随机图片的方法
Mar 25 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
PHP生成图片验证码功能示例
Jan 12 PHP
php微信公众号开发之简答题
Oct 20 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
解析htaccess伪静态的规则
2013/06/18 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
2016/11/14 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
javascript Keycode对照表
2009/10/24 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
javascript设置页面背景色及背景图片的方法
2015/12/29 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
jupyter安装小结
2016/03/13 Python
python使用Matplotlib画条形图
2020/03/25 Python
python实现换位加密算法的示例
2018/10/14 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
温泉秘密:Onsen Secret
2020/07/06 全球购物
OSPF有什么优点?为什么OSPF比RIP收敛快?
2013/02/13 面试题
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
Unix如何添加新的用户
2014/08/20 面试题
写给保洁员表扬信
2014/01/08 职场文书
汽车专业学生自我评价
2014/01/19 职场文书
技术总监管理职责范本
2014/03/06 职场文书
保险公司年会主持词
2014/03/22 职场文书
国贸专业求职信
2014/06/28 职场文书
创卫工作总结2015
2015/04/22 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书