UBB代码的编写
一、什么是UBB代码
1)UBB代码是HTML的一个变种,是Ultimate Bulletin Board (国外一个BBS程序,国内也有不少地方使用这个程序)
采用的一种特殊的TAG。UBB代码很简单,虽然功能很少,但基本实现了我们常用的一些功能.
2)优点:
1、相对HTML安全性高;
2、使用简单,方便记忆;
3、自定义功能强大,扩展性好;
4、有效较少数据库存储代码
3)缺点:
1、排版功能弱
2、不允许交叉使用
4)例子:[url]www.qq.com[/url] [b]中文[/b] [swf]../flash/demo.swf[/swf]
二、UBB的运行过程
1)UBB Code-->解析转换-->HTML code
2)常使用的两种模式:
UBB-->DB-->解析-->输出
UBB-->解析-->DB-->输出
三、介绍几种简单的UBB代码
1)[url][/url] /\[url\](.*)\[\/url\]/i <a href=></a>
[b][/b] /\[b\](.*)\[\/b\]/i <b>
[img][/img] /\[img\](.*)\[\/img\]/ <img src=>
2)例子:$ubb=preg_replace("/\[url\](.*)\[\/url\]/","<a href=\\1 target=_blank>\\1</a>",$str); (其中\1代表正则表达式的第一个单元,\2代表第二个,放在()括号内就代表一个单元)
四、编程实例
1)取一个简单的 添加链接 和 加粗 的UBB代码
<?php
function get_ubb($str){
//链接UBB
$str=preg_replace("/\[url\](.*)\[\/url\]/","<a href=http://\\1 target=_blank>\\1</a>",$str);
//加粗UBB
$str=preg_replace("/\[b\](.*)\[\/b\]/","<b>\\1</b>",$str);
return $str;
}
$str="sdyhfg[url]www.qq.com[/url]as[b]dw中文[/b]2sdf";
echo get_ubb($str);
?>
输出的html代码如下:
sdyhfg<a href=http://www.qq.com target=_blank>www.qq.com</a>as<b>dw中文</b>2sdf