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