《PHP教程:PHP幾個(gè)實(shí)用自定義函數(shù)小結(jié)》要點(diǎn):
本文介紹了PHP教程:PHP幾個(gè)實(shí)用自定義函數(shù)小結(jié),希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
本文實(shí)例總結(jié)了PHP幾個(gè)實(shí)用自定義函數(shù).分享給大家供大家參考,具體如下:PHP實(shí)戰(zhàn)
最近在看代碼,發(fā)現(xiàn)以下是幾個(gè)比較實(shí)用的函數(shù).PHP實(shí)戰(zhàn)
1、取客戶端IPPHP實(shí)戰(zhàn)
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; }
這里,如果使用多級(jí)代理的用戶,真實(shí)IP是取不到的.PHP實(shí)戰(zhàn)
2、字符串截取,支持中文PHP實(shí)戰(zhàn)
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); //結(jié)果是海底蒼,utf8一個(gè)漢字對(duì)應(yīng)二個(gè)字符
3、多長(zhǎng)時(shí)間前的時(shí)間函數(shù),論壇,博客常用PHP實(shí)戰(zhàn)
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)."小時(shí)前"; }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、過(guò)濾部分標(biāo)簽PHP實(shí)戰(zhàn)
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); //結(jié)果:<a href='#'>asdfasdfsd</a>====alert(1111) echo strip_tags($str); //結(jié)果:sdfasdfsd====alert(1111)
如果要過(guò)濾所有標(biāo)簽strip_tags就夠用了.PHP實(shí)戰(zhàn)
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基本語(yǔ)法入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》及《php常用函數(shù)與技巧總結(jié)》PHP實(shí)戰(zhàn)
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所贊助.PHP實(shí)戰(zhàn)
《PHP教程:PHP幾個(gè)實(shí)用自定義函數(shù)小結(jié)》是否對(duì)您有啟發(fā),歡迎查看更多與《PHP教程:PHP幾個(gè)實(shí)用自定義函數(shù)小結(jié)》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7633.html