本文实例讲述了php实现过滤UBB代码的类。分享给大家供大家参考。具体如下:

PHP代码如下:复制代码 代码如下:class Day{   function ubb($Text) {      /// UBB代码转换        //$Text=htmlspecialchars($Text);        //$Text=ereg_replace("","<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程序设计有所帮助。