php实现过滤UBB代码的类
本文实例讲述了php实现过滤UBB代码的类。分享给大家供大家参考。具体如下:
PHP代码如下:
classDay{ functionubb($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","<ahref=\"\\1\"target=\"new\"><u>\\1</u></a>",$Text); $Text=preg_replace("/\[url\](.+?)\[\/url\]/is","<ahref=\"http://\\1\"target=\"new\"><u>\\1</u></a>",$Text); $Text=preg_replace("/\[url=(http:\/\/.+?)\](.+?)\[\/url\]/is","<ahref=\"\\1\"target=\"new\"><u>\\2</u></a>",$Text); $Text=preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/is","<ahref=\"http://\\1\"target=\"new\"><u>\\2</u></a>",$Text); $Text=preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/is","<fontcolor=\"\\1\">\\2</font>",$Text); $Text=preg_replace("/\[font=(.+?)\](.+?)\[\/font\]/is","<fontface=\"\\1\">\\2</font>",$Text); $Text=preg_replace("/\[email=(.+?)\](.+?)\[\/email\]/is","<ahref=\"mailto:\\1\"><u>\\2</u></a>",$Text); $Text=preg_replace("/\[email\](.+?)\[\/email\]/is","<ahref=\"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","<marqueewidth=\"98%\"behavior=\"alternate\"scrollamount=\"3\">\\1</marquee>",$Text); $Text=preg_replace("/\[move\](.+?)\[\/move\]/is","<marqueewidth=\"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","<tablewidth=\"*\"><tr><tdstyle=\"filter:shadow(color=\\1,direction=\\2,strength=\\3)\">\\4</td></tr></table>",$Text); return$Text; } }
希望本文所述对大家的php程序设计有所帮助。