当前位置: 首页 > 图文教程 > 网络编程 > 正则表达式 > 自定义ubb代码,preg_replace()函数的一些代码

正则表达式
[原创]正则匹配后面非指定字符的正则
一个关于正则表达式的问题
代替正则:HyperScriptExpression联合开发倡议公告
[原创]正则替换字符串功能
[原创]java 正则表达式基础,实例学习资料收集大全
web标准知识:丰富段落里的标签
js判断是否有6个连续数字的字符串的正则
正则表达式中的反向预搜索实现
精通 JavaScript中的正则表达式手机整理 推荐
取图片路径的正则
UBB 转换函数演示 (经典论坛)
pjblog的ubbcodeasp文件
PBlog2 公用JS代码
用的ubb转换
密码强度检测函数(正则)
正则表达式工具 Match Tracer
编写采集规则的好帮手—RegexBuddy 下载,正则不再难
正则表达式30分钟入门教程 v2.1版
asp 图片正则 替换,替换前检查图片是不是本地地址的方法
正则表达式口诀 正则表达式学习工具

正则表达式 中的 自定义ubb代码,preg_replace()函数的一些代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 91 ::
收藏到网摘: n/a

function ubb($Text) {
$Text=htmlspecialchars($Text);
$Text=ereg_replace("\r\n","<br>",$Text);
$Text=ereg_replace("\r","<br>",$Text);
$Text=nl2br($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("/\[url\](http:\/\/.+?)\[\/url\]/is","<a href=\\1>\\1</a>",$Text);
$Text=preg_replace("/\[url\](.+?)\[\/url\]/is","<a href=\"http://\\1\">http://\\1</a>",$Text);
$Text=preg_replace("/\[url=(http:\/\/.+?)\](.*)\[\/url\]/is","<a href=\\1>\\2</a>",$Text);
$Text=preg_replace("/\[url=(.+?)\](.*)\[\/url\]/is","<a href=http://\\1>\\2</a>",$Text);
$Text=preg_replace("/\[img\](.+?)\[\/img\]/is","<img src=\\1>",$Text);
$Text=preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/is","<font color=\\1>\\2</font>",$Text);
$Text=preg_replace("/\[size=(.+?)\](.+?)\[\/size\]/is","<font size=\\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=\\1>\\1</a>",$Text);
$Text=preg_replace("/\[i\](.+?)\[\/i\]/is","<i>\\1</i>",$Text);
$Text=preg_replace("/\[b\](.+?)\[\/b\]/is","<b>\\1</b>",$Text);
$Text=preg_replace("/\[quote\](.+?)\[\/quote\]/is","<blockquote><font size='2' face='Courier New'>quote:</font><hr>\\1<hr></blockquote>", $Text);
$Text=preg_replace("/\[code\](.+?)\[\/code\]/is","<blockquote><font size='2' face='Courier New'>code:</font><hr color='lightblue'><i>\\1</i><hr color='lightblue'></blockquote>", $Text);
$Text=preg_replace("/\[sig\](.+?)\[\/sig\]/is","<div style='text-align: left; color: darkgreen; margin-left: 5%'><br><br>--------------------------<br>\\1<br>--------------------------</div>", $Text);
return $Text;
}
function str($msg){
global $admin;
if(!$admin[html]) $msg=htmlspecialchars($msg);
if($admin[ubb]) $msg=ubb($msg);
$msg=nl2br($msg); #处理message
$msg= str_replace("\n","",$msg); #处理message
$msg= str_replace("\r","",$msg); #处理message
return $msg;
}
function error($msg){
global $admin;
?>
中的
$Text=preg_replace("/\[h2\](.+?)\[\/h2\]/is","<h2>\\1</h2>",$Text);
里面的 ("/\[h2](.+?)\[\/h2]/is","<h2>\\1</h2>",$text)
/\[h2](.+?)\[\/h2]/is 转化成 <h2>\\1</h2>
/\[h2](.+?)\[\/h2]/is 里面的 这些"/\(.+?)\ "之类的符号是怎么看的?是什么意思?
______________________________________________________________________________________________
\是转意,\本身是特殊符号,如果要作为普通字符就要用\来转意,就是说\\表示()也是特殊符号,所以要用\转意