這篇文章主要介紹了php實現過濾UBB代碼的類,涉及php正則表達式的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了php實現過濾UBB代碼的類。分享給大家供大家參考。具體如下:
PHP代碼如下:
代碼如下:
class Day{
function ubb($Text) { /// UBB代碼轉換
//$Text=htmlspecialchars($Text);
//$Text=ereg_replace("rn","<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程序設計有所幫助。