您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

4个php实用自定义函数汇总

2025/8/11 19:32:37发布26次查看
这篇文章主要介绍了php几个实用自定义函数,结合实例总结分析了php网络操作、字符串操作、时间操作及正则表达式使用等技巧,需要的朋友可以参考下
1、取客户端ip
function 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:15 echo 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就够用了。
以上就是4个php实用自定义函数汇总的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product