UBB代码正则转换为HTMl代码

UBB代码是HTML的一个变种,是Ultimate Bulletin Board (海外的一个BBS措施)回收的一种非凡的TAG。
UBB代码真正的道理就是把本身的非凡的TAG利用正则替换成html标签,以到达过滤HTML代码中所夹带的不良信息的浸染。
UBB代码很简朴,成果很少,可是由于其Tag语法查抄实现很是容易,所以不少网站引入了这种代码,以利便网友利用显示图片/联接/加粗字体等常见成果。
以正下的是利用正则把UBB代码转为html代码。

function ubb_to_html($Text) { $Text=trim($Text); //$Text=htmlspecialchars($Text); $Text=preg_replace("/\\t/is"," ",$Text); $Text=preg_replace("/\[h1\](.+?)\[\/h1\]/is","<h1>\\1</h1>",$Text); $Text=preg_replace("/\[h2\](.+?)\[\/h2\]/is","<h2>\\1</h2>",$Text); $Text=preg_replace("/\[h3\](.+?)\[\/h3\]/is","<h3>\\1</h3>",$Text); $Text=preg_replace("/\[h4\](.+?)\[\/h4\]/is","<h4>\\1</h4>",$Text); $Text=preg_replace("/\[h5\](.+?)\[\/h5\]/is","<h5>\\1</h5>",$Text); $Text=preg_replace("/\[h6\](.+?)\[\/h6\]/is","<h6>\\1</h6>",$Text); $Text=preg_replace("/\[separator\]/is","",$Text); $Text=preg_replace("/\[center\](.+?)\[\/center\]/is","<center>\\1</center>",$Text); $Text=preg_replace("/\[url=http:\/\/([^\[]*)\](.+?)\[\/url\]/is","<a href=http://enenba.com/\"http://\\1\" target=_blank>\\2</a>",$Text); $Text=preg_replace("/\[url=([^\[]*)\](.+?)\[\/url\]/is","<a href=http://enenba.com/\"http://\\1\" target=_blank>\\2</a>",$Text); $Text=preg_replace("/\[url\]http:\/\/([^\[]*)\[\/url\]/is","<a href=http://enenba.com/\"http://\\1\" target=_blank>\\1</a>",$Text); $Text=preg_replace("/\[url\]([^\[]*)\[\/url\]/is","<a href=http://enenba.com/\"\\1\" target=_blank>\\1</a>",$Text); $Text=preg_replace("/\[img\](.+?)\[\/img\]/is","<img src=http://enenba.com/\\1>",$Text); $Text=preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/is","<font color=http://enenba.com/\\1>\\2</font>",$Text); $Text=preg_replace("/\[size=(.+?)\](.+?)\[\/size\]/is","<font size=http://enenba.com/\\1>\\2</font>",$Text); $Text=preg_replace("/\[sup\](.+?)\[\/sup\]/is","<sup>\\1</sup>",$Text); $Text=preg_replace("/\[sub\](.+?)\[\/sub\]/is","<sub>\\1</sub>",$Text); $Text=preg_replace("/\[pre\](.+?)\[\/pre\]/is","<pre>\\1</pre>",$Text); $Text=preg_replace("/\[email\](.+?)\[\/email\]/is","<a href='http://enenba.com/mailto:\\1'>\\1</a>",$Text); $Text=preg_replace("/\[colorTxt\](.+?)\[\/colorTxt\]/eis","color_txt('\\1')",$Text); $Text=preg_replace("/\[emot\](.+?)\[\/emot\]/eis","emot('\\1')",$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("/\[quote\](.+?)\[\/quote\]/is"," <div><h5>引用:</h5><blockquote>\\1</blockquote></div>", $Text); $Text=preg_replace("/\[code\](.+?)\[\/code\]/eis","highlight_code('\\1')", $Text); $Text=preg_replace("/\[php\](.+?)\[\/php\]/eis","highlight_code('\\1')", $Text); $Text=preg_replace("/\[sig\](.+?)\[\/sig\]/is","<div>\\1</div>", $Text); $Text=preg_replace("/\\n/is","<br/>",$Text); return $Text; } //利用要领 //ubb_to_html($ubbcontent);

利用很简朴,就是ubb_to_html($ubbcontent)把含有ubb的字符串内容
返回只有html的内容

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7952.html