<?php
header('Content-Type:text/html;charset:utf-8');
$str = "
[b]郭钱[/b]<br/>
[i]郭钱[/i]<br/>
[u]郭钱[/u]<br/>
[font=宋体]郭钱[/font]<br/>
[color=Red]郭钱[/color]<br/>
[size=6]郭钱[/size]<br/>
[align=left]郭钱[/align]<br/>
[align=center]郭钱[/align]<br/>
[align=right]郭钱[/align]<br/>
[url=http://www.baidu.com]郭钱[/url]<br/>
[url=www.baidu.com]www.baidu.com[/url]<br/>
[email=ybbqg@126.com]ybbqg@126.com[/email]<br/>
[img]http://dx/static/image/common/logo.png[/img]<br/>
";
echo $str;
echo "<br>";
echo con_ubb($str);
function con_ubb($str) {
$pattern = array(
"/\[b\](.+?)\[\/b\]/is",
"/\[i\](.+?)\[\/i\]/is",
"/\[u\](.+?)\[\/u\]/is",
"/\[font=([.\w\x7f-\xff]+?)\](.+?)\[\/font\]/is",
"/\[color=([a-z]{3,}|#?[0-9a-f]{6})\](.+?)\[\/color\]/is",
"/\[size=(\d{1,2})\](.+?)\[\/size\]/s",
"/\[align=(left|center|right)\](.+?)\[\/align\]/is",
"/\[url=(.+?)\](.+?)\[\/url\]/is",
"/\[url\]www\.(.+?)\[\/url\]/is",
"/\[email=([.a-z0-9]+?@[.a-z0-9]+?)\](.+?)\[\/email\]/is",
"/\[img\](.+?)\[\/img\]/"
);
$replacement = array(
"<b>\\1</b>",
"<i>\\1</i>",
"<u>\\1</u>",
"<font face='\\1'>\\2</font>",
"<font color='\\1'>\\2</font>",
"<font size='\\1'>\\2</font>",
"<div align='\\1'>\\2</div>",
"<a href='http://blog.163.com/ybbqg@126/blog/\\1'>\\2</a>",
"<a href='http://www.\\1'>www.\\1</a>",
"<a href='mailto:\\1'>\\2</a>",
"<img src='http://blog.163.com/ybbqg@126/blog/\\1'\/>"
);
$str = preg_replace($pattern, $replacement, $str);
return $str;
}
?>
正则表达式 UBB 实例
前望