本文实例讲述了php实现过滤UBB代码的类。分享给大家供大家参考。具体如下:
PHP代码如下:
class Day{
function ubb($Text) { /// UBB代码转换
//$Text=htmlspecialchars($Text);
//$Text=ereg_replace(\"\\r\\n\",\"<br>\",$Text);
$Text=ereg_replace(\"\\[br\\]\",\"<br />\",$Text);
$Text=nl2br($Text);
$Text=stripslashes($Text);
$Text=preg_replace(\"/\\\\t/is\",\" \",$Text);
$Text=preg_replace(\"/\\[url\\](http:\\/\\/.+?)\\[\\/url\\]/is\",\"<a href=\\\"\\\\1\\\" target=\\\"new\\\"><u>\\\\1</u></a>\",$Text);
$Text=preg_replace(\"/\\[url\\](.+?)\\[\\/url\\]/is\",\"<a href=\\\"http://\\\\1\\\" target=\\\"new\\\"><u>\\\\1</u></a>\",$Text);
$Text=preg_replace(\"/\\[url=(http:\\/\\/.+?)\\](.+?)\\[\\/url\\]/is\",\"<a href=\\\"\\\\1\\\" target=\\\"new\\\"><u>\\\\2</u></a>\",$Text);
$Text=preg_replace(\"/\\[url=(.+?)\\](.+?)\\[\\/url\\]/is\",\"<a href=\\\"http://\\\\1\\\" target=\\\"new\\\"><u>\\\\2</u></a>\",$Text);
$Text=preg_replace(\"/\\[color=(.+?)\\](.+?)\\[\\/color\\]/is\",\"<font color=\\\"\\\\1\\\">\\\\2</font>\",$Text);
$Text=preg_replace(\"/\\[font=(.+?)\\](.+?)\\[\\/font\\]/is\",\"<font face=\\\"\\\\1\\\">\\\\2</font>\",$Text);
$Text=preg_replace(\"/\\[email=(.+?)\\](.+?)\\[\\/email\\]/is\",\"<a href=\\\"mailto:\\\\1\\\"><u>\\\\2</u></a>\",$Text);
$Text=preg_replace(\"/\\[email\\](.+?)\\[\\/email\\]/is\",\"<a href=\\\"mailto:\\\\1\\\"><u>\\\\1</u></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(\"/\\[fly\\](.+?)\\[\\/fly\\]/is\",\"<marquee width=\\\"98%\\\" behavior=\\\"alternate\\\" scrollamount=\\\"3\\\">\\\\1</marquee>\",$Text);
$Text=preg_replace(\"/\\[move\\](.+?)\\[\\/move\\]/is\",\"<marquee width=\\\"98%\\\" scrollamount=\\\"3\\\">\\\\1</marquee>\",$Text);
$Text=preg_replace(\"/\\[shadow=([#0-9a-z]{1,10})\\,([0-9]{1,3})\\,([0-9]{1,2})\\](.+?)\\[\\/shadow\\]/is\",\"<table width=\\\"*\\\"><tr><td style=\\\"filter:shadow(color=\\\\1, direction=\\\\2 ,strength=\\\\3)\\\">\\\\4</td></tr></table>\",$Text);
return $Text;
}
}
希望本文所述对大家的php程序设计有所帮助。