自己写的一个UBB转换的函数
ubb|函数|转换
function ubb2xhtml($ubb)
{
$flash= codebase="" width="%1\$d" height="%2\$d">
@#%\[size=([^\s]+)\](.*?)\[/size\]%s@#,
@#%\[align=(center|right|left)\](.*?)\[/align\]%s@#,
@#%\[valign=(middle|top|bottom)\](.*?)\[/valign\]%s@#,
/*
@#%\[ul\](.*?)\[/ul\]%s@#,
@#%\[ul=(circle|disc|square)\](.*?)\[/ul\]%s@#,
@#%\[ol\](.*?)\[/ol\]%s@#,
@#%\[ol type=([aAiI1]) start=([a-zA-Z1-9])\](.*?)\[/ol\]%s@#,
@#%\[li\](.*?)\[/li\]%s@#,
*/
@#%\[table=([^\s]+?)\](.*?)\[/table\]%s@#,
@#%\[caption\](.*?)\[/caption\]%s@#,
@#%\[tr=([^\s]+?)\](.*?)\[/tr\]%s@#,
@#%\[th\](.*?)\[/th\]%s@#,
@#%\[td\](.*?)\[/td\]%s@#,
@#%\[note\](.*?)\[/note\]%s@#,
@#%\[quote=(.*?)\](.*?)\[/quote\]%s@#,
@#%\[code\](.*?)\[/code\]%s@#,
@#%[ ]{2}%s@#, // make double-spaces truly double-spaces!
);
$replace = array
(
@#\2@#,
@#\2@#,
@#@#,
@#@#,
@#sprintf("$flash", "\1", "\2", "\3")@#,
@#\2\1>@#,
@#
@#
\n@#,
@#\2@#,
@#\2@#,
@#\2@#,
@#
@#
/*
@#
- \1
@#
- \2
@#
- \1
@#
- \3
@#
*/
"
"\t
"\t
"\t\t
"\t\t
@#
\1
@#@#,
@#代码
@# @#,
);
if( preg_match(@#%\[table=(.*?)\/table\]%s@#, $ubb, $tablecells) ) //如果有表格, 先去除单元格之间的多余空白
{
$bb=preg_replace(@#%\]([\r\n\s]*)\[%si@#, @#][@#, $tablecells[1]);
$ubb=str_replace($tablecells[1], $bb, $ubb);
}
$html = preg_replace($match, $replace, nl2br(htmlspecialchars($ubb)));
$html = preg_replace(@#/
\s* return $html;
}
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
上一篇: php 查询本机闲工夫端口
下一篇: PHP生成带有图片和链接的PDF文档
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论