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

前端之家收集整理的这篇文章主要介绍了PHP几个实用自定义函数小结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例总结了PHP几个实用自定义函数分享给大家供大家参考,具体如下:

最近在看代码,发现以下是几个比较实用的函数

1、取客户端IP

PHP;"> 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、字符串截取支持中文

$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、多长时间前的时间函数,论坛,博客常用

PHP;"> 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、过滤部分标签

PHP;"> 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 = "asdfasdfsd===="; echo delTags($str); //结果:asdfasdfsd====alert(1111) echo strip_tags($str); //结果:sdfasdfsd====alert(1111)

如果要过滤所有标签strip_tags就够用了。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》及《PHP常用函数与技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

猜你在找的PHP相关文章