您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關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; }
看完上述內容,你們對PHP中怎么實現一個公共方法有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。