本文实例讲述了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程序设计有所帮助。