首页 > 编程 > PHP > 正文

PHP几个实用自定义函数小结

2020-03-22 19:26:00
字体:
来源:转载
供稿:网友
本文实例总结了PHP几个实用自定义函数。分享给大家供大家参考,具体如下:最近在看代码,发现以下是几个比较实用的函数。1、取客户端IPfunction getOnlineIp() { $strOnlineIp = ""; if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $onlineip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { $onlineip = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { $onlineip = getenv('REMOTE_ADDR'); } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { $onlineip = $_SERVER['REMOTE_ADDR']; preg_match("/[/d/.]{7,15}/", $onlineip, $onlineipmatches); $strOnlineIp = $onlineipmatches[0] $onlineipmatches[0] : 'unknown'; return $strOnlineIp;这里,如果使用多级代理的用户,真实IP是取不到的。2、字符串截取,支持中文function getStrTruncate($string, $length = 80, $etc = ''){ if ($length == 0) return ''; mb_internal_encoding("UTF-8"); $string = str_replace("/n","",$string); $strlen = mb_strwidth($string); if ($strlen $length) { $etclen = mb_strwidth($etc); $length = $length - $etclen; $str=''; $n = 0; for($i=0; $i $length; $i++) { $c = mb_substr($string, $i, 1); $n += mb_strwidth($c); if ($n $length) { break; } $str .= $c; return $str.$etc; } else { return $string;echo getStrTruncate("海底苍鹰博客",7); //结果是海底苍,utf8一个汉字对应二个字符3、多长时间前的时间函数,论坛,博客常用function timeFromNow($dateline) { if(emptyempty($dateline)) return false; $seconds = time() - $dateline; if ($seconds 60){ return "1分钟前"; }elseif($seconds 3600){ return floor($seconds/60)."分钟前"; }elseif($seconds 24*3600){ return floor($seconds/3600)."小时前"; }elseif($seconds 48*3600){ return date("昨天 H:i", $dateline).""; }else{ return date('Y-m-d', $dateline);echo timeFromNow(strtotime("2012-07-07 14:15:13")); //昨天 14:15echo timeFromNow(strtotime("2012-07-08 14:15:13")); //1小前4、过滤部分标签function delTags($str) $farr = array( "/ (// )(script|i frame|style|html|body|title|link|meta|form|input|embed|object|textarea|/ |/%)([^ ]* ) /isU", "/( [^ ]*)on[a-zA-Z]+/s*=([^ ]* )/isU" $tarr = array( $str = preg_replace( $farr,$tarr,$str); return $str;$str = " a href='#' asdfasdfsd /a ==== script alert(1111) /script echo delTags($str); //结果: a href='#' asdfasdfsd /a ====alert(1111)echo strip_tags($str); //结果:sdfasdfsd====alert(1111)如果要过滤所有标签strip_tags就够用了。更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《php常用函数与技巧总结》希望本文所述对大家PHP程序设计有所帮助。PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表