欢迎来到福编程网,本站提供各种互联网专业知识!

function.inc.php超越php

发布时间:2006-12-09 作者: 来源:转载
/**
*GlobalFunction
*
*@authorAvenger
*@version1.14$Id2003-05-3010:10:08$
*/
/**
*弹出提示框
*
*@accesspublic
*@paramstring$txt弹出一个提示框,$txt为要弹出的内容
*@returnvoid
*/
functionpopbox($txt){
echo"alert('".$txt."')";
}
/**
*非法操作警告
*
*@accesspublic
*@paramstring$C_alert提示的错误信息
*@paramstring$I_goback返回后返回到哪一页,不指定则不返回
*@returnvoid
*/
functionalert($C_alert,$I_goback='main.php'){
if(!empty($I_goback)){
echo"";
}else{
echo"";
}
}
/**
*产生随机字符串
*
*产生一个指定长度的随机字符串,并返回给用户
*
*@accesspublic
*@paramint$len产生字符串的位数
*@returnstring
*/
functionrandstr($len=6){
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~';//characterstobuildthepasswordfrom
mt_srand((double)microtime()*1000000*getmypid());//seedtherandomnumbergenerater(mustbedone)
$password='';
while(strlen($password)<$len)
$password.=substr($chars,(mt_rand()%strlen($chars)),1);
return$password;
}
/**
*判断下拉菜音的选取项
*
*可以判断字符串一和字符串二是否相等.从而使相等的项目在下拉菜单中被选择
*
*@accesspublic
*@paramstring$str1要比较的字符串一
*@paramstring$str2要比较的字符串二
*@returnstring相等返回字符串"selected",否则返回空字符串
*/
functionckselect($str1,$str2){
if($str1==$str2){
return'selected';
}
return'';
}
/**
*一个自定义的Ftp函数
*
*@accessprivate
*@returnvoid
*/
functionmyftp($ftp_server,$ftp_port,$ftp_username,$ftp_password,$ftp_path='/'){
$ftpid=@ftp_connect($ftp_server,$ftp_port)ordie('ConnectToFtpServerError!');
@ftp_login($ftpid,$ftp_username,$ftp_password)ordie('LoginFtpError!');
@ftp_chdir($ftpid,'/'.$ftp_path)ordie('ChdirError!');
return$ftpid;
}
/**
*截取中文部分字符串
*
*截取指定字符串指定长度的函数,该函数可自动判定中英文,不会出现乱码
*
*@accesspublic
*@paramstring$str要处理的字符串
*@paramint$strlen要截取的长度默认为10
*@paramstring$other是否要加上省略号,默认会加上
*@returnstring
*/
functionshowtitle($str,$strlen=10,$other=true){
$j=0;
for($i=0;$i<$strlen;$i++)
if(ord(substr($str,$i,1))>0xa0)$j++;
if($j%2!=0)$strlen++;
$rstr=substr($str,0,$strlen);
if(strlen($str)>$strlen&&$other){$rstr.='...';}
return$rstr;
}
/**
*制作链接
*
*@accesspublic
*@paramstringurl要链接到的网址
*@paramstringlinktext显示的链接文字
*@paramstringtarget目标框架
*@paramstringextras扩展参数
*@returnstring
*/
functionmake_link($url,$linktext=false,$target=false,$extras=false){
returnsprintf("%s",
$url,
($target?'target="'.$target.'"':''),
($extras?''.$extras:''),
($linktext?$linktext:$url)
);
}
/**
*格式化用户评论
*
*@accesspublic
*@paramstring
*@returnvoid
*/
functionclean_note($text){
$text=htmlspecialchars(trim($text));
/*turnurlsintolinks*/
$text=preg_replace("/((mailto|http|ftp|nntp|news):.+?)(>|s|)|"|.s|$)/","13",$text);
/*this'fixing'codewillgoawayeventually.*/
$fixes=array('

','

','

');
reset($fixes);
while(list(,$f)=each($fixes)){
$text=str_replace(htmlspecialchars($f),$f,$text);
$text=str_replace(htmlspecialchars(strtoupper($f)),$f,$text);
}
/*

tagsmakethingslookawfullyweird(breaksthingsoutofthe
tag).Justconvertthemto

's
*/
$text=str_replace(array('

','

'),'

',$text);
/*Remove

tagstopreventitfromshowingupinthenote*/
$text=str_replace(array('

','

'),'',$text);
/*preservelinebreaks*/
$text=str_replace("n","

",$text);
/*thiswillonlybreaklonglines*/
if(function_exists("wordwrap")){
$text=wordwrap($text);
}
//Preservespacingofusernotes
$text=str_replace("","",$text);
return$text;
}
/**
*获取图象信息的函数
*
*一个全面获取图象信息的函数
*
*@accesspublic
*@paramstring$img图片路径
*@returnarray
*/
functiongetimageinfo($img){
$img_info=getimagesize($img);
switch($img_info[2]){
case1:
$imgtype="GIF";
break;
case2:
$imgtype="JPG";
break;
case3:
$imgtype="PNG";
break;
}
$img_size=ceil(filesize($img)/1000)."k";
$new_img_info=array(
"width"=>$img_info[0],
"height"=>$img_info[1],
"type"=>$imgtype,
"size"=>$img_size
);
return$new_img_info;
}
/**
*计算当前时间
*
*以微秒为单位返回当前系统的时间
*
*@accesspublic
*@returnreal
*/
functiongetmicrotime(){
$tmp=explode('',microtime());
return(real)$tmp[1].substr($tmp[0],1);
}
/**
*写文件操作
*
*@accesspublic
*@parambool
*@returnvoid
*/
functionwfile($file,$content,$mode='w'){
$oldmask=umask(0);
$fp=fopen($file,$mode);
if(!$fp)returnfalse;
fwrite($fp,$content);
fclose($fp);
umask($oldmask);
returntrue;
}
/**
*加载模板文件
*
*@accesspublic
*@returnvoid
*/
functiontpl_load($tplfile,$path='./templates/',$empty='remove'){
global$tpl;
$path?'':$path='./templates/';
require_once'HTML/Template/PHPLIB.php';
$tpl=newTemplate_PHPLIB($path,$empty);
$tpl->setFile('main',$tplfile);
}
/**
*模板解析输出
*
*@accesspublic
*@returnvoid
*/
functiontpl_output(){
global$tpl;
$tpl->parse('output','main');
$tpl->p('output');
}
/**
*邮件发送函数
*
*@accesspublicprivate
*@parambool
*@returnvoid
*/
functionmailSender($from,$to,$title,$content){
$from?$from='sender@phpe.net':'';
$title?$title='FromExceedPHP...':'';
$sig="
感谢您使用我们的服务.nn
ExceedPHP(超越PHP)n
$maildatenn
---------------------------------------------------------------------------------------
nn
去发现极限方法的唯一办法就是去超越它n
超越PHP欢迎您(http://www.phpe.net)n
";
$content.=$sig;
if(@mail($to,$title,$content,"From:$fromnReply-To:$from")){
returntrue;
}else{
returnfalse;
}
}
functionbr2none($str){
returnstr_replace(array('

','

'),"",$str);
}
/**
*UBB解析
*
*@paramnone
*@accesspublic
*@returnvoid
*/
functionubbParse($txt,$coverhtml=0){
if($coverhtml==0)$txt=nl2br(new_htmlspecialchars($txt));//BR和HTML转换
//只转换BR,不转换HTML
if($coverhtml==1){
if(!preg_match('//is',$txt)&&!preg_match('//is',$txt)){
$txt=strip_tags($txt);
$txt=nl2br($txt);
}else{
$txt=str_replace('}
}
//preandquote
//error_reporting(E_ALL);
$txt=preg_replace("#[quote](.+?)[/quote]#is","

1
",$txt);
$txt=preg_replace("#[code](.+?)[/code]#ise","''.br2none('').''",$txt);
//Colors支持篏套
while(preg_match("#[color=([^]]+)](.+?)[/color]#is",$txt)){
$txt=preg_replace("#[color=([^]]+)](.+?)[/color]#is","2",$txt);
}
//Align
$txt=preg_replace("#[center](.+?)[/center]#is","
1
",$txt);
$txt=preg_replace("#[left](.+?)[/left]#is","1
",$txt);
$txt=preg_replace("#[right](.+?)[/right]#is","1
",$txt);
//Sub&sup
$txt=preg_replace("#[sup](.+?)[/sup]#is","1",$txt);
$txt=preg_replace("#[sub](.+?)[/sub]#is","1",$txt);
//emailtags
//[email]avenger@php.net[/email][email=avenger@php.net]Emailme[/email]
$txt=preg_replace("#[email](S+?)[/email]#i","1",$txt);
$txt=preg_replace("#[emails*=s*"([.w-]+@[.w-]+.[.w-]+)s*"s*](.*?)[/email]#i","2",$txt);
$txt=preg_replace("#[emails*=s*([.w-]+@[.w-]+.[w-]+)s*](.*?)[/email]#i","2",$txt);
//urltags
//[url]http://www.phpe.net[/url][url=http://www.phpe.net]ExceedPHP![/url]
$txt=preg_replace("#[url](S+?)[/url]#i","1",$txt);
$txt=preg_replace("#[urls*=s*"s*(S+?)s*"s*](.*?)[/url]#i","2",$txt);
$txt=preg_replace("#[urls*=s*(S+?)s*](.*?)[/url]#i","2",$txt);
//Startoffwiththeeasystuff
$txt=preg_replace("#[b](.+?)[/b]#is","1",$txt);
$txt=preg_replace("#[i](.+?)[/i]#is","1",$txt);
$txt=preg_replace("#[u](.+?)[/u]#is","1",$txt);
$txt=preg_replace("#[s](.+?)[/s]#is","1",$txt);
//Headertext
$txt=preg_replace("#[h([1-6])](.+?)[/h[1-6]]#is","

2

",$txt);
//Images
$txt=preg_replace("#[img](.+?)[/img]#i","500)this.width=500'align='center'hspace='10'vspace='10'>

",$txt);
//Attach
$txt=preg_replace("#[attachs*=s*"s*(S+?)s*"s*](.*?)[/attach]#i","相关附件:1",$txt);
$txt=preg_replace("#[attachs*=s*(S+?)s*](.*?)[/attach]#i","相关附件:1",$txt);
//Iframe
$txt=preg_replace("#[iframe](.+?)[/iframe]#i","在新窗口打开链接

",$txt);
//(c)(r)and(tm)
$txt=preg_replace("#(c)#i","©",$txt);
$txt=preg_replace("#(tm)#i","™",$txt);
$txt=preg_replace("#(r)#i","®",$txt);
return$txt;
}
//重新格式化日期
functionformat_date($date){
if(!preg_match('/^d+$/',$date))$date=strtotime(trim($date));
$sec=time()-$date;
//Sec1dayis86400
if($sec<86400){
returnround($sec/3600).'hoursago';
}elseif($sec<(86400*7)){
returnround($sec/86400).'daysago';
}elseif($sec<(86400*7*4)){
returnround($sec/(86400*7)).'weeksago';
}else{
returndate('Y-m-d',$date);
}
}
?>

相关推荐