Welcome 微信登录

首页 / 网页编程 / PHP / php实现过滤UBB代码的类

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