站长资讯网
最全最丰富的资讯网站

PHP开发实例之公共方法【代码详解】

当我们踏入PHP开发的行列中的时候,我们就要时刻去要求自己,不断学习,不断总结,只有这样,我们才能在PHP开发的道路上越走越远,今天呢,就个人开发实例总结了一部分原生的常用公共方法,来让新手的小伙伴在开发的过程中可以更快的进行开发实践活动:

1.使用公共方法msubstr截取中文字符串,过长的使用省略号代替:

使用场景:

使用这类公共方法一般都是在后台进行编辑器上传一些文章的数据,需要在前端进行对应的数据展示,而有的时候,当后台数据过长,前端所展示的空间不足以显示所有的数据,这时候多余的部分使用省略号进行代替,这样可以让前端的数据展示美观且简约,给人一种赏心悦目的感觉。

代码展示:

/**  * 截取中文字符串,过长的使用省略号代替  */ function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){          $str = preg_replace("/<a[^>]*>/i", "", $str);       $str = preg_replace("/</a>/i", "", $str);        $str = preg_replace("/<div[^>]*>/i", "", $str);       $str = preg_replace("/</div>/i", "", $str);           $str = preg_replace("/<!--[^>]*-->/i", "", $str);//注释内容     $str = preg_replace("/style=.+?['|"]/i",'',$str);//去除样式       $str = preg_replace("/class=.+?['|"]/i",'',$str);//去除样式       $str = preg_replace("/id=.+?['|"]/i",'',$str);//去除样式          $str = preg_replace("/lang=.+?['|"]/i",'',$str);//去除样式           $str = preg_replace("/width=.+?['|"]/i",'',$str);//去除样式        $str = preg_replace("/height=.+?['|"]/i",'',$str);//去除样式        $str = preg_replace("/border=.+?['|"]/i",'',$str);//去除样式        $str = preg_replace("/face=.+?['|"]/i",'',$str);//去除样式        $str = preg_replace("/face=.+?['|"]/",'',$str);//去除样式只允许小写正则匹配没有带 i        if(function_exists("mb_substr")){         $slice= mb_substr($str, $start, $length, $charset);     }elseif(function_exists('iconv_substr')) {         $slice= iconv_substr($str,$start,$length,$charset);     }else{         preg_match_all($re[$charset], $str, $match);         $slice = join("",array_slice($match[0], $start, $length));     }             $fix='';         if(strlen($slice) < strlen($str)){             $fix='...';         }           return $suffix ? $slice.$fix : $slice; }

2.enctype加密:

使用场景:

前端密码匹配设置规则或者后端密码匹配规则的再次加密,防止其他黑客进行通用的密码匹配机制进行网站关停等工作。

代码展示:

/**  * 公共方法  * 优化md5加密:  */ function enctype($password) {     return md5($password . C('MD5_SUFFIX')); }

注意事项:

C('MD5_SUFFIX')项目为读取配置的常量 "MD5_SUFFIX",常量可自行设置。

3.将手机号中间4位替换为*

使用场景:

网站上用户通过手机号注册账号之后,为了保障用户的信息安全,将手机号的中间4位替换为*,即可让手机号显示不全,一定程度上保障了用户的信息安全。

代码展示:

/**  * 将手机号中间4位替换为*  */ function suohao($phone){  $p = substr($phone,0,3)."****".substr($phone,7,4);  return $p; }

4.验证手机号是否正确:

使用场景:

用户注册网站时校验用户填写的手机号是否正确,方便我们后台人员后期对数据的维护。

代码展示:

/** * 验证手机号是否正确 * @author honfei * @param number $mobile */ function isMobile($mobile) {     if (!is_numeric($mobile)) {         return false;     }     return preg_match('#^13[d]{9}$|^14[5,7]{1}d{8}$|^15[^4]{1}d{8}$|^17[0,6,7,8]{1}d{8}$|^18[d]{9}$#', $mobile) ? true : false; }

5.验证输入的内容是否为纯数字:

使用场景:

校验用户提交必须为数字项的参数时的校验工作,校验之后可以给用户进行对应的反馈信息,帮助用户进行数据提交的有效性。

代码展示:

/** * 验证输入的内容是否为纯数字 * @author wdy * @param number $mobile */ function isNumeric($number) {     if (!is_numeric($number)) {         return false;     }     return preg_match('/^d+$/i', $number) ? true : false; }

6.验证邮箱是否正确:

使用场景:

用户注册或者绑定邮箱信息的时候,需要校验邮箱的真实有效性,方便后期用户找回密码时可以快速有效的收取到对应的校验码。

代码展示:

/**  * 验证邮箱是否正确  * @author wdy  * @param 18738536986@163.com $email  */ function isEmail($email){       $mode = '/w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/';       if(preg_match($mode,$email)){           return true;       }else{           return false;       }   }

7.递归重新排序无限极分类数组:

使用场景:

商城分类通常会使用此方法,可以行之有效的进行对商城分类的数据读取和展示工作,方便个人的维护,同时方便了用户的体验。

代码展示:

//递归重新排序无限极分类数组 function recursive($array,$pid=0,$level=0){  //接收传递过来的数组 $arr = array();  foreach ($array as  $value) {  if($value['pid'] == $pid){  //定义分类级别 $value['level'] = $level;  //定义分类分隔符号 $value['html'] = str_repeat('-', $level);   //$arr[]来存储$value $arr[] = $value;   //array_merge():函数把一个或多个数组合并为一个数组。 $arr = array_merge($arr,recursive($array,$value['id'],$level+1));  } }  return $arr;  }

8.获取所有分类子分类的ID:

使用场景:

商城分类的快速读取,可以对分类信息数据进行分快速整合和数据展示,同时方便用户的快速访问体验。

代码展示:

//获取所有分类子分类的ID function get_all_child($array, $id){  //定义一个数组 $arr = array();  //循环遍历 foreach ($array as $v) {  //判断pid是否等于id if ($v['pid'] == $id) {  //$arr接收所有的id $arr[] = $v['id'];  //array_merge():函数把一个或多个数组合并为一个数组。 $arr = array_merge($arr, get_all_child($array, $v['id']));  } }  return $arr;  }

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号