一个ubbcode的函数,速度很快.

前面见到有人发表
但是速度比较慢,也非常长
这里给出一种

function ubb($str) {
$color=Array('red','blue','green');
$str=eregi_replace('\url\\[/url\]','

1<a href="http://\\\1">\\\1</a>

',$str);//url
$str=eregi_replace('\url=http://([a-zA-Z0-9@:%_.~#-?&]+)\\[/url\]','

1<a href="\\\1" target="_blank">\\\2</a>

',$str);
$str=eregi_replace('\url=([a-zA-Z0-9@:%_.~#-?&]+)\\[/url\]','

1<a href="http://\\\1" target="_blank">\\\2</a>

',$str);
$str=eregi_replace('\img\\[/img\]','

1<img src="http://\\\1"/>

\\1',$str);//img
$str=eregi_replace('\h([1-6])\\[/h[1-6]\]','

1<h\\\1>\\\2</h\\\1>

',$str);//h1-6
$str=eregi_replace('\email\\[/email\]','

1<a href="mailto:\\\1">\\\1</a>

',$str);//email
$str=eregi_replace('\email=([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})\\[/email\]','

1<a href="mailto:\\\1">\\\2</a>

',$str);
$str=eregi_replace('\b\\[/b\]','

1<b>\\\1</b>

',$str);
$str=eregi_replace('\i\\[/i\]','

1<i>\\\1</i>

',$str);
$str=eregi_replace('\size=(.+)\\[/size\]','

1<font size="\\\1">\\\2</font>

',$str);
$str=eregi_replace('\color=(.+)\\[/color\]','

1<font color="\\\1">\\\2</font>

',$str);
$str=eregi_replace('\sub\\[/sub\]','

1<sub>\\\1',$str);//下裱   
2$str=eregi_replace('\\[sup\\](.+)\\[\/sup\\]','<sup>\\\1</sup>',$str);//上标   
3for($i=0;$i&lt;=count($color);$i++)$str=eregi_replace('\\['.$color[$i].'\\](.+)\\[\/'.$color[$i].'\\]','<font color=".$color[$i].">\\\1</font>',$str);   
4$str=preg_replace("/\\[quote\\](.+?)\\[\/quote\\]/is","<blockquote><font face="Courier New" size="1">quote:</font><hr/>\\\1<hr/></blockquote>", $str);   
5$str=preg_replace("/\\[code\\](.+?)\\[\/code\\]/is","<blockquote><font face="Times New Roman" size="1">code:</font><hr color="lightblue"/><i>\\\1</i><hr color="lightblue"/></blockquote>", $str);   
6$str=preg_replace("/\\[sig\\](.+?)\\[\/sig\\]/is","<div style="text-align: left;color: darkgreen;margin-left: 5%"><br/><br/>\--------------------------<br/>\\\1<br/>\--------------------------</div>", $str);   
7return $str;   
8}</sub>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus