php开发中经常用到的实例
来源:互联网 发布:《梦里花落知多少》 编辑:程序博客网 时间:2024/06/11 23:43
1.PHP解析url并得到url中的参数
$url = 'http://www.baidu.com/index.php?m=content&c=index&a=lists&catid=6&area=0&author=0&h=0®ion=0&s=1&page=1';$arr = parse_url($url);var_dump($arr);$arr_query = convertUrlQuery($arr['query']);var_dump($arr_query);var_dump(getUrlQuery($arr_query));/** * 将字符串参数变为数组 * @param $query * @return array array (size=10) 'm' => string 'content' (length=7) 'c' => string 'index' (length=5) 'a' => string 'lists' (length=5) 'catid' => string '6' (length=1) 'area' => string '0' (length=1) 'author' => string '0' (length=1) 'h' => string '0' (length=1) 'region' => string '0' (length=1) 's' => string '1' (length=1) 'page' => string '1' (length=1) */function convertUrlQuery($query){ $queryParts = explode('&', $query); $params = array(); foreach ($queryParts as $param) { $item = explode('=', $param); $params[$item[0]] = $item[1]; } return $params;}/** * 将参数变为字符串 * @param $array_query * @return string string 'm=content&c=index&a=lists&catid=6&area=0&author=0&h=0®ion=0&s=1&page=1' (length=73) */function getUrlQuery($array_query){ $tmp = array(); foreach($array_query as $k=>$param) { $tmp[] = $k.'='.$param; } $params = implode('&',$tmp); return $params;}
2,利用正则表达式实现手机号码中间4位用星号(*)替换显示
//Method 1:function hidtel($phone){ $IsWhat = preg_match('/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i',$phone); //固定电话 if($IsWhat == 1){ return preg_replace('/(0[0-9]{2,3}[\-]?[2-9])[0-9]{3,4}([0-9]{3}[\-]?[0-9]?)/i','$1****$2',$phone); }else{ return preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone); }}//Method 2:$num = "13966778888"$str = substr_replace($num,'****',3,4);//实例:$phonenum = "13966778888";echo hidtel($phonenum);//最后输出:139****8888
3.php根据出生年月日计算生日 精确到xxxx年xx月xx天
function diffDate($date1,$date2){ $datestart= date('Y-m-d',strtotime($date1)); if(strtotime($datestart)>strtotime($date2)){ $tmp=$date2; $date2=$datestart; $datestart=$tmp; } list($Y1,$m1,$d1)=explode('-',$datestart); list($Y2,$m2,$d2)=explode('-',$date2); $Y=$Y2-$Y1; // 1 $m=$m2-$m1; // 0 $d=$d2-$d1; // -11 if($d<0){ $d+=(int)date('t',strtotime("-1 month $date2")); $m=$m--; } if($m<0){ $m+=12; $y=$y--; } if($Y == 0 && $m == 0 && $d != 0){return $d.'天'; }elseif($Y == 0 && $m != 0 && $d != 0){ return $m.'个月'.$d.'天'; }elseif($Y != 0 && $m == 0 && $d != 0){ return $Y.'年'.$d.'天'; }else{ return $Y.'年'.$m.'个月'.$d.'天'; }}
4.php判断手机浏览还是web浏览
function isMobile(){ $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; $useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:''; function CheckSubstrs($substrs,$text){ foreach($substrs as $substr) if(false!==strpos($text,$substr)){ return true; } return false; } $mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ'); $mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod'); $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) || CheckSubstrs($mobile_token_list,$useragent); if ($found_mobile){ return true; }else{ return false; } }if (isMobile()){ header('location: ./app/index.php');//如果为手机端,执行跳转}else{ header('location: ./web/index.php');//如果非手机端,执行跳转}
5.时间戳转时间格式,时间格式转xx小时前
/** * 将时间转换为 xx小时前 * @param {Object} pTime */function jsDateDiff(pTime) { var d_minutes, d_hours, d_days, d; var timeNow = parseInt(new Date().getTime() / 1000); pTime_new = new Date(pTime).getTime() / 1000; d = timeNow - pTime_new; d_days = parseInt(d / 86400); d_hours = parseInt(d / 3600); d_minutes = parseInt(d / 60); if (d_days > 0 && d_days < 4) { return d_days + "天前"; } else if (d_days <= 0 && d_hours > 0) { return d_hours + "小时前"; } else if (d_hours <= 0 && d_minutes > 0) { return d_minutes + "分钟前"; } else { return pTime; }}
阅读全文
0 0
- php开发中经常用到的实例
- 开发中经常用到的一些函数
- 开发中经常用到的sql语句:
- 开发中经常用到的快捷方式
- Android开发中经常用到的工具
- iOS开发中经常用到的细节
- 开发中经常用到的JSON解析
- 开发中经常用到的工具类
- php中经常用到的几个取整函数
- php中经常用到的几个取整函数
- PHP中经常用到的Pear类库下载网站
- php.ini中经常会用到的一些配置
- 开发经常用到的API
- 在b/s开发中经常用到的javaScript技术
- 在b/s开发中经常用到的javaScript技术
- 在b/s开发中经常用到的javaScript技术
- 在b/s开发中经常用到的javaScript技术
- 在b/s开发中经常用到的javaScript技术
- LeetCode 448. Find All Numbers Disappeared in an Array
- [Leetcode] 305. Number of Islands II 解题报告
- 如何在webstorm上自动编译es6
- ASP.NET获取真正的客户端IP地址的6种方法
- 查看命令帮助文档
- php开发中经常用到的实例
- 微信小程序实用教程
- 清算/报表/日终跑批程序之性能优化案例(一)
- centos7系统安装python3.6.2版本
- 最小二乘法简介
- Android——Handler机制
- iOS系统预览文件但不分享的实用技巧 (iOS10, QLPreviewController)
- Java复习笔记+经验总结-03 继承与多态 接口与抽象类
- 安装Elasticsearch 5.5.0 (Windows)