function.inc.php超越php
发布时间:2020-03-19 22:45:39 所属栏目:PHP教程 来源:互联网
导读:function.inc.php超越php
<?php /** * Global Function * * @author Avenger <avenger@php.net> * @version 1.14 $Id 2003-05-30 10:10:08 $ */ /** * 弹出提示框 * * @access public * @param string $txt 弹出一个提示框,$txt为要弹出的内容 * @return void */ function popbox($txt) { echo "<script language='JavaScript'>alert('".$txt."')</script>"; } /** * 非法操作警告 * * @access public * @param string $C_alert 提示的错误信息 * @param string $I_goback 返回后返回到哪一页,不指定则不返回 * @return void */ function alert($C_alert,$I_goback='main.php') { if(!empty($I_goback)) { echo "<script>alert('$C_alert');window.location.href='$I_goback';</script>"; } else { echo "<script>alert('$C_alert');</script>"; } } /** * 产生随机字符串 * * 产生一个指定长度的随机字符串,并返回给用户 * * @access public * @param int $len 产生字符串的位数 * @return string */ function randstr($len=6) { $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~'; // characters to build the password from mt_srand((double)microtime()*1000000*getmypid()); // seed the random number generater (must be done) $password=''; while(strlen($password)<$len) $password.=substr($chars,(mt_rand()%strlen($chars)),1); return $password; } /** * 判断下拉菜音的选取项 * * 可以判断字符串一和字符串二是否相等.从而使相等的项目在下拉菜单中被选择 * * @access public * @param string $str1 要比较的字符串一 * @param string $str2 要比较的字符串二 * @return string 相等返回字符串"selected",否则返回空字符串 */ function ckselect($str1,$str2) { if($str1==$str2) { return ' selected'; } return ''; } /** * 一个自定义的Ftp函数 * * @access private * @return void */ function myftp($ftp_server,$ftp_port,$ftp_username,$ftp_password,$ftp_path='http://www.jb51.net/') { $ftpid=@ftp_connect($ftp_server,$ftp_port) or die('Connect To Ftp Server Error!'); @ftp_login($ftpid,$ftp_username,$ftp_password) or die('Login Ftp Error!'); @ftp_chdir($ftpid,'http://www.jb51.net/'.$ftp_path) or die('Chdir Error!'); return $ftpid; } /** * 截取中文部分字符串 * * 截取指定字符串指定长度的函数,该函数可自动判定中英文,不会出现乱码 * * @access public * @param string $str 要处理的字符串 * @param int $strlen 要截取的长度默认为10 * @param string $other 是否要加上省略号,默认会加上 * @return string */ function showtitle($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; } /** * 制作链接 * * @access public * @param string url 要链接到的网址 * @param string linktext 显示的链接文字 * @param string target 目标框架 * @param string extras 扩展参数 * @return string */ function make_link ($url, $linktext=false, $target=false, $extras=false) { return sprintf("<a href="%s"%s%s>%s</a>", $url, ($target ? ' target="'.$target.'"' : ''), ($extras ? ' '.$extras : ''), ($linktext ? $linktext : $url) ); } /** * 格式化用户评论 * * @access public * @param string * @return void */ function clean_note($text) { $text = htmlspecialchars(trim($text)); /* turn urls into links */ $text = preg_replace("/((mailto|http|ftp|nntp|news):.+?)(>|s|)|"|.s|$)/","<a href="1">1</a>3",$text); /* this 'fixing' code will go away eventually. */ $fixes = array('<br>', '<p>', '</p>'); reset($fixes); while (list(,$f) = each($fixes)) { $text = str_replace(htmlspecialchars($f), $f, $text); $text = str_replace(htmlspecialchars(strtoupper($f)), $f, $text); } /* <p> tags make things look awfully weird (breaks things out of the <code> tag). Just convert them to <br>'s */ $text = str_replace (array ('<P>', '<p>'), '<br>', $text); /* Remove </p> tags to prevent it from showing up in the note */ $text = str_replace (array ('</P>', '</p>'), '', $text); /* preserve linebreaks */ $text = str_replace("n", "<br>", $text); /* this will only break long lines */ if (function_exists("wordwrap")) { $text = wordwrap($text); } // Preserve spacing of user notes $text = str_replace(" ", " ", $text); return $text; } /** * 获取图象信息的函数 * * 一个全面获取图象信息的函数 * * @access public * @param string $img 图片路径 * @return array */ function getimageinfo($img) { $img_info = getimagesize($img); switch ($img_info[2]) { case 1: $imgtype = "GIF"; break; case 2: $imgtype = "JPG"; break; case 3: $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; } /** * 计算当前时间 * * 以微秒为单位返回当前系统的时间 * * @access public * @return real */ function getmicrotime() { $tmp = explode(' ', microtime()); return (real)$tmp[1]. substr($tmp[0], 1); } /** * 写文件操作 * * @access public * @param bool * @return void */ function wfile($file,$content,$mode='w') { $oldmask = umask(0); $fp = fopen($file, $mode); if (!$fp) return false; fwrite($fp,$content); fclose($fp); umask($oldmask); return true; } /** * 加载模板文件 * * @access public * @return void */ function tpl_load($tplfile,$path='./templates/',$empty='remove') { global $tpl; $path ? '' : $path='./templates/'; require_once 'HTML/Template/PHPLIB.php'; $tpl = new Template_PHPLIB($path,$empty); $tpl->setFile('main',$tplfile); } /** * 模板解析输出 * * @access public * @return void */ function tpl_output() { global $tpl; $tpl->parse('output','main'); $tpl->p('output'); } /** * 邮件发送函数 * * @access public private * @param bool * @return void */ function mailSender($from, $to, $title, $content) { $from ? $from = 'sender@phpe.net' : ''; $title ? $title = 'From Exceed PHP...' : ''; $sig = " 感谢您使用我们的服务.nn Exceed PHP(超越PHP)n $maildatenn --------------------------------------------------------------------------------------- nn 去发现极限方法的唯一办法就是去超越它n 超越PHP欢迎您()n "; $content .= $sig; if (@mail($to, $title, $content, "From:$fromnReply-To:$from")) { return true; } else { return false; } } function br2none($str) { return str_replace(array('<br>', '<br />'), "", $str); } /** * UBB解析 * * @param none * @access public * @return void */ function ubbParse($txt, $coverhtml=0) { if ($coverhtml == 0) $txt = nl2br(new_htmlspecialchars($txt)); //BR和HTML转换 //只转换BR,不转换HTML if ($coverhtml == 1) { if (!preg_match('/<s*(p|br)s*>/is', $txt) && !preg_match('/<table.+</table>/is', $txt)) { $txt = strip_tags($txt); $txt = nl2br($txt); } else { $txt = str_replace('<?', '<?', $txt); } } // pre and quote //error_reporting(E_ALL); $txt = preg_replace( "#[quote](.+?)[/quote]#is", "<blockquote>1</blockquote>", $txt ); $txt = preg_replace( "#[code](.+?)[/code]#ise", "'<pre class=php>'.br2none('').'</pre>'", $txt ); // Colors 支持篏套 while( preg_match( "#[color=([^]]+)](.+?)[/color]#is", $txt ) ) { $txt = preg_replace( "#[color=([^]]+)](.+?)[/color]#is", "<span style='color:1'>2</span>", $txt ); } // Align $txt = preg_replace( "#[center](.+?)[/center]#is", "<center>1</center>", $txt ); $txt = preg_replace( "#[left](.+?)[/left]#is", "<div align=left>1</div>", $txt ); $txt = preg_replace( "#[right](.+?)[/right]#is", "<div align=right>1</div>", $txt ); // Sub & sup $txt = preg_replace( "#[sup](.+?)[/sup]#is", "<sup>1</sup>", $txt ); $txt = preg_replace( "#[sub](.+?)[/sub]#is", "<sub>1</sub>", $txt ); // email tags // [email]avenger@php.net[/email] [email=avenger@php.net]Email me[/email] $txt = preg_replace( "#[email](S+?)[/email]#i" , "<a href='mailto:1'>1</a>", $txt ); $txt = preg_replace( "#[emails*=s*"([.w-]+@[.w-]+.[.w-]+)s*"s*](.*?)[/email]#i" , "<a href='mailto:1'>2</a>", $txt ); $txt = preg_replace( "#[emails*=s*([.w-]+@[.w-]+.[w-]+)s*](.*?)[/email]#i" , "<a href='mailto:1'>2</a>", $txt ); // url tags // [url][/url] [url=http://www.phpe.net]Exceed PHP![/url] $txt = preg_replace( "#[url](S+?)[/url]#i" , "<a href='1' target='_blank'>1</a>", $txt ); $txt = preg_replace( "#[urls*=s*"s*(S+?)s*"s*](.*?)[/url]#i" , "<a href='1' target='_blank'>2</a>", $txt ); $txt = preg_replace( "#[urls*=s*(S+?)s*](.*?)[/url]#i" , "<a href='1' target='_blank'>2</a>", $txt ); // Start off with the easy stuff $txt = preg_replace( "#[b](.+?)[/b]#is", "<b>1</b>", $txt ); $txt = preg_replace( "#[i](.+?)[/i]#is", "<i>1</i>", $txt ); $txt = preg_replace( "#[u](.+?)[/u]#is", "<u>1</u>", $txt ); $txt = preg_replace( "#[s](.+?)[/s]#is", "<s>1</s>", $txt ); // Header text $txt = preg_replace( "#[h([1-6])](.+?)[/h[1-6]]#is", "<h1>2</h1>", $txt ); // Images $txt = preg_replace( "#[img](.+?)[/img]#i", "<a href='1' target='_blank'><img alt='Click to fullsize' src='1' border='0' onload='javascript:if(this.width>500) this.width=500' align='center' hspace='10' vspace='10'></a><br />", $txt ); // Attach $txt = preg_replace( "#[attachs*=s*"s*(S+?)s*"s*](.*?)[/attach]#i" , "<a href='2' target='_blank'><b>相关附件:</b>1</a>", $txt ); $txt = preg_replace( "#[attachs*=s*(S+?)s*](.*?)[/attach]#i" , "<a href='2' target='_blank'><b>相关附件:</b>1</a>", $txt ); // Iframe $txt = preg_replace( "#[iframe](.+?)[/iframe]#i", "<div align='center'><iframe src='1' style='width:96%;height:400px'></iframe><br clear='all'><a href='1' target='_blank'>在新窗口打开链接</a></div>", $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; } //重新格式化日期 function format_date($date) { if (!preg_match('/^d+$/', $date)) $date = strtotime(trim($date)); $sec = time() - $date; //Sec 1 day is 86400 if ($sec < 86400) { return round($sec/3600). ' hours ago'; } elseif ($sec < (86400 * 7)) { return round($sec/86400). ' days ago'; } elseif ($sec < (86400 * 7 * 4)) { return round($sec/(86400*7)). ' weeks ago'; } else { return date('Y-m-d', $date); } } ?> (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |