一个改进的UBB类
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
<?php /* 如有转载,请注明作者 原作者: 何志强 改进: SonyMusic[ sonymusic@163.net ] 文件: ubb.php 备注: 说是改进,其实核心函数parse()已经完全重写了,而且思路也是不一样的。 不过仍是受何志强的例子的启发,而且测试的例子还有URLCHECK等几个函数也是沿用的何志强的程序,谢谢何志强。 目前还没有颜色的功能,但我会加入的。 如果在程序上有什么BUG或不便的地方,请给我MAIL。 谢谢! 改进功能: 对字符串进行UBB编码,该类目前只支持下列几个简单且实用的编码: 1. URL裢接 [url] http://phpuser.com/ [/url] http://头可以不需要 如[url]phpuser.com[/url]也是可以的。 2. Email裢接 [email] sonymusic@163.net [/email] 3. 图片裢接 [img] http://www.phpchina.com/images/logo.gif [/img] 同URL链接一样,前面的http也可以不要。 4. 文字方面 [b]粗体字[/b] [i]斜体字[/i] [u]加下划线[/u] [h1]1号标题字[/h1] ... [h6]6号标题字[/h6] [sup][/sup] [sub][/sub] [tt][/tt] [s][/s] [strike][/strike] [em][/em] [strong][/strong] [code][/code] [samp][/samp] [kbd][/kbd] [var][/var] [dfn][/dfn] [cite][/cite] [small][/small] [big][/big] [blink][/blink] 注意以下几点: 1. url,email,img等标签是不分大小写的. 2. 在标签中不允许有TAB键出现,但空格允许。 3. 该类要调用htmlencode,htmlencode4textarea,emailcheck函数和urlcheck类. 4. 修改后支持嵌套,但url,email,img这三个标签不是允许嵌套的。 技术资料: Ultimate Bulletin Board http://www.ultimatebb.com/ What is UBB Code http://www.scriptkeeper.com/ubb/ubbcode.html */ include("urlcheck.php"); include("otherfunc.php"); //这两个文件的内容,附在最后。 //ubbcode类 class ubbcode{ var $call_time=0; //可处理标签及处理函数对应表 var $tags = array( //小写的标签 => 对应的处理函数 ''url'' => ''$this->url'', ''email'' => ''$this->email'', ''img'' => ''$this->img'', ''b'' => ''$this->simple'', ''i'' => ''$this->simple'', ''u'' => ''$this->simple'', ''tt'' => ''$this->simple'', ''s'' => ''$this->simple'', ''strike'' => ''$this->simple'', ''h1'' => ''$this->simple'', ''h2'' => ''$this->simple'', ''h3'' => ''$this->simple'', ''h4'' => ''$this->simple'', ''h5'' => ''$this->simple'', ''h6'' => ''$this->simple'', ''sup'' => ''$this->simple'', ''sub'' => ''$this->simple'', ''em'' => ''$this->simple'', ''strong'' => ''$this->simple'', ''code'' => ''$this->simple'', ''samp'' => ''$this->simple'', ''kbd'' => ''$this->simple'', ''var'' => ''$this->simple'', ''dfn'' => ''$this->simple'', ''cite'' => ''$this->simple'', ''small'' => ''$this->simple'', ''big'' => ''$this->simple'', ''blink'' => ''$this->simple'' ); //url裢接属性 var $attr_url; //url合法性检查对象 var $urlcheck; function ubbcode($attr_url){ $this->attr_url = ''''.$attr_url; $this->urlcheck = new urlcheck(); } //对$str进行UBB编码解析 function parse($str){ $this->call_time++; $parse = ''''.htmlencode($str); $ret = ''''; whi |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: PHP+APACHE实现用户论证的方法下一篇: 如何在PHP中进行身份认证
关于一个改进的UBB类的所有评论