八、虎绿林系统类库介绍

虎绿林采用了自动加载类机制,所以你不需要include任何文件就可以直接使用任何类!

headecho类提供了一些头信息输出的静态方法:

headecho::location($url, $exit=false, $addsid=true)
 #重定向。
如果$exit为true,重定向后会立即调用exit()退出程序。
如果$addsid为true,并且地址以read.php?开头且浏览器不支持Cookies,会自动给地址添加sid。
注:你可以在任何地方使用它,即使已经有内容输出(原因是read.php里用了ob_start)
headecho::refresh($time, $url='')
实现定时跳转(XHTML/WML兼容),$time是秒
如果$url留空,就定时刷新当前页面
注意:$url必须是一个经过html编码的地址,比如其中&得替换成& a m p ; 否则浏览器可能报XML解析错误。
注意:你必须在[html=…]之前调用该方法,否则不会生效。
headecho::getnewurl()
 #返回一个本页的新地址(为地址添加new=…随机参数),方便实现刷新本页的链接。
ubb类提供了模板引擎和通用UBB方案

ubb::str($内容, $ubb类型=DEFAULT_PAGE_UBB)
 #返回ubb替换后的内容
$ubb类型可以是xhtml或wml(已实现common,但是没有写它的引导文件,所以不可用。参见0wap/class/ubb目录里已有的文件)

ubb::file($原文件名, $保存文件名='', $UBB类型=DEFAULT_PAGE_UBB, $是否必须更新=false)
 #UBB替换文件,成功返回真,失败返回假。
保存文件名如果留空则与目标文件名相同。
如果不是必须更新,那么当目标文件存在时将不更新。

ubb::page(bid, cid, pid, 是否必须更新=false)
 #用ubb编译一个页面,并返回保存文件的地址,原文件不存在返回false。
你可以这样使用:
include ubb::page(bid,cid,pid);
这样就可以包含一个用UBB写的页面了。read.php中就这样用的。
str类提供一些字符串处理函数

str::全是中文吗($字符串, $补充='')
 #用正则表达式判断字符串是否全部是汉字(不包括标点),是返回true,否false
例:
if(!str::全是中文吗($用户名,'a-zA-Z0-9_\\-'))
 echo '用户名不合法';
这就是改名时检测用户名用的方法
注:只支持UTF-8字符串,而且调用该函数的文件也应该是UTF-8编码的,否则不知道会发生什么。

str::npos($被搜索内容, $搜索内容, $出现次数, $编码='utf-8')
 #返回搜索内容在被搜索内容中第n次出现的位置。
注意:使用了mb函数库,所以返回的是按真实字数算的位置,而不是字节数。

str::word($内容, $把字母转换为小写=false)
 #返回只包含a-zA-Z0-9_-的字符串,其他部分都被去除。

str::geturlquery($array, $转义and=false, $转义空格=false)
 #如果$array=array('a'=>'b','c'=>'d e f'),就返回'a=b&c=d+e+f'
如果转义and为true,返回'a=b&c=d+e+f'
如果转义空格为true,返回'a=b&c=d%20%e%20f'
str::pinyin($内容, $首字母大写=false, $两个拼音之间的分隔符='')
 #返回目标字符串的拼音。如果目标字符串包含标点,会发生异常。包含英文则可以。
更正:首字母大写的默认值是true

url类提供了一些网址处理函数

url::realpath($url, $参考url='')
 #返回$url的最简绝对路径。如果$url是一个相对路径,则必须提供参考url
url::GetQueryArray($query字符串)
 #返回从query解析出的数组,已经urldecode
url::b64e($nr) #编码
url::b64d($code) #解码
 #使用一种适合URL传递的base64编码变体编解码内容

xml类提供对网页文件的处理
xml::totext($网页内容)
 #网页转纯文本
如果网页不符合xml规范(比如没有xml文件头,或语法错误),将转换失败。
回复列表(6|隐藏机器人聊天)
添加新回复
回复需要登录