今天就跟大家聊聊有關(guān)PHP中怎么實現(xiàn)一個公共方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)建站成立于2013年,先為武穴等服務(wù)建站,武穴等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為武穴企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1.使用公共方法msubstr截取中文字符串,過長的使用省略號代替:
使用場景:
使用這類公共方法一般都是在后臺進(jìn)行編輯器上傳一些文章的數(shù)據(jù),需要在前端進(jìn)行對應(yīng)的數(shù)據(jù)展示,而有的時候,當(dāng)后臺數(shù)據(jù)過長,前端所展示的空間不足以顯示所有的數(shù)據(jù),這時候多余的部分使用省略號進(jìn)行代替,這樣可以讓前端的數(shù)據(jù)展示美觀且簡約,給人一種賞心悅目的感覺。
代碼展示:
/** * 截取中文字符串,過長的使用省略號代替 */ function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){ $str = preg_replace("/]*>/i", "", $str); $str = preg_replace("/<\/a>/i", "", $str); $str = preg_replace("/]*>/i", "", $str); $str = preg_replace("/<\/div>/i", "", $str); $str = preg_replace("//i", "", $str);//注釋內(nèi)容 $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加密:
使用場景:
前端密碼匹配設(shè)置規(guī)則或者后端密碼匹配規(guī)則的再次加密,防止其他黑客進(jìn)行通用的密碼匹配機制進(jìn)行網(wǎng)站關(guān)停等工作。
代碼展示:
/** * 公共方法 * 優(yōu)化md5加密: */ function enctype($password) { return md5($password . C('MD5_SUFFIX')); }注意事項:
C('MD5_SUFFIX')項目為讀取配置的常量 "MD5_SUFFIX",常量可自行設(shè)置。
3.將手機號中間4位替換為*
使用場景:
網(wǎng)站上用戶通過手機號注冊賬號之后,為了保障用戶的信息安全,將手機號的中間4位替換為*,即可讓手機號顯示不全,一定程度上保障了用戶的信息安全。
代碼展示:
/** * 將手機號中間4位替換為* */ function suohao($phone){ $p = substr($phone,0,3)."****".substr($phone,7,4); return $p; }4.驗證手機號是否正確:
使用場景:
用戶注冊網(wǎng)站時校驗用戶填寫的手機號是否正確,方便我們后臺人員后期對數(shù)據(jù)的維護(hù)。
代碼展示:
/** * 驗證手機號是否正確 * @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.驗證輸入的內(nèi)容是否為純數(shù)字:
使用場景:
校驗用戶提交必須為數(shù)字項的參數(shù)時的校驗工作,校驗之后可以給用戶進(jìn)行對應(yīng)的反饋信息,幫助用戶進(jìn)行數(shù)據(jù)提交的有效性。
代碼展示:
/** * 驗證輸入的內(nèi)容是否為純數(shù)字 * @author wdy * @param number $mobile */ function isNumeric($number) { if (!is_numeric($number)) { return false; } return preg_match('/^\d+$/i', $number) ? true : false; }6.驗證郵箱是否正確:
使用場景:
用戶注冊或者綁定郵箱信息的時候,需要校驗郵箱的真實有效性,方便后期用戶找回密碼時可以快速有效的收取到對應(yīng)的校驗碼。
代碼展示:
/** * 驗證郵箱是否正確 * @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.遞歸重新排序無限極分類數(shù)組:
使用場景:
商城分類通常會使用此方法,可以行之有效的進(jìn)行對商城分類的數(shù)據(jù)讀取和展示工作,方便個人的維護(hù),同時方便了用戶的體驗。
代碼展示:
//遞歸重新排序無限極分類數(shù)組 function recursive($array,$pid=0,$level=0){ //接收傳遞過來的數(shù)組 $arr = array(); foreach ($array as $value) { if($value['pid'] == $pid){ //定義分類級別 $value['level'] = $level; //定義分類分隔符號 $value['html'] = str_repeat('-', $level); //$arr[]來存儲$value $arr[] = $value; //array_merge():函數(shù)把一個或多個數(shù)組合并為一個數(shù)組。 $arr = array_merge($arr,recursive($array,$value['id'],$level+1)); } } return $arr; }8.獲取所有分類子分類的ID:
使用場景:
商城分類的快速讀取,可以對分類信息數(shù)據(jù)進(jìn)行分快速整合和數(shù)據(jù)展示,同時方便用戶的快速訪問體驗。
代碼展示:
//獲取所有分類子分類的ID function get_all_child($array, $id){ //定義一個數(shù)組 $arr = array(); //循環(huán)遍歷 foreach ($array as $v) { //判斷pid是否等于id if ($v['pid'] == $id) { //$arr接收所有的id $arr[] = $v['id']; //array_merge():函數(shù)把一個或多個數(shù)組合并為一個數(shù)組。 $arr = array_merge($arr, get_all_child($array, $v['id'])); } } return $arr; }看完上述內(nèi)容,你們對PHP中怎么實現(xiàn)一個公共方法有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
當(dāng)前文章:PHP中怎么實現(xiàn)一個公共方法
分享URL:http://weahome.cn/article/jjciep.html