国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

PHP幾個(gè)實(shí)用自定義函數(shù)小結(jié)

2024-05-04 23:42:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了PHP幾個(gè)實(shí)用自定義函數(shù),結(jié)合實(shí)例總結(jié)分析了PHP網(wǎng)絡(luò)操作、字符串操作、時(shí)間操作及正則表達(dá)式使用等技巧,需要的朋友可以參考下
 

本文實(shí)例總結(jié)了PHP幾個(gè)實(shí)用自定義函數(shù)。分享給大家供大家參考,具體如下:

最近在看代碼,發(fā)現(xiàn)以下是幾個(gè)比較實(shí)用的函數(shù)。

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;}

這里,如果使用多級(jí)代理的用戶,真實(shí)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); //結(jié)果是海底蒼,utf8一個(gè)漢字對(duì)應(yīng)二個(gè)字符

3、多長(zhǎng)時(shí)間前的時(shí)間函數(shù),論壇,博客常用

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:15echo timeFromNow(strtotime("2012-07-08 14:15:13")); //1小前

4、過(guò)濾部分標(biāo)簽

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就夠用了。

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 蕲春县| 壶关县| 遂宁市| 大悟县| 额尔古纳市| 林州市| 浏阳市| 东平县| 柏乡县| 迭部县| 肇东市| 南通市| 肇东市| 鄄城县| 唐河县| 辽宁省| 文登市| 海南省| 开江县| 临泽县| 长泰县| 德安县| 临湘市| 洪雅县| 久治县| 襄樊市| 调兵山市| 拉萨市| 湘潭县| 锦州市| 本溪| 子长县| 永靖县| 济宁市| 泉州市| 巴中市| 石城县| 乐安县| 临江市| 家居| 龙泉市|