今天突然想起手機號,這種隱私資訊在專案中還是隱藏一下比較好,所以就來總結一下能用的方法,僅限於大陸的11位手機號
方法演示
使用
substr_replace
函式# substr_replace — 替換字串的子串 # 使用說明 substr_replace ( mixed $string , mixed $replacement , mixed $start , mixed $length = ? ) : mixed # $string 資源字串 # $replacement 替換字元 # $start 替換開始位置,如果位負數的時候,將從末尾開始數 # $length 需要替換的長度,如果為負數的時候,也是從$start開始位置替換 # substr_replace() 在字串 string 的副本中將由 start 和可選的 length 引數限定的子字串使用 replacement 進行替換。 # 示例 $mobile = '18512341234'; echo substr_replace($mobile, '****', 3, 4); // 185****1234 # 注意 字串的開始位置為0 echo substr_replace($mobile, '****', -8, -4); // 185****1234
使用正規表示式
# preg_replace — 執行一個正規表示式的搜尋和替換 # 使用說明 preg_replace ( mixed $pattern , mixed $replacement , mixed $subject , int $limit = -1 , int &$count = ? ) : mixed # 搜尋 subject 中匹配 pattern 的部分,以 replacement 進行替換。 # 示例 $pattern = '/(\d{3})\d{4}(\d{4})/'; $new_mobile = preg_replace($pattern, '$1****$2', $mobile); echo $new_mobile;
使用
substr
函式# 函式說明 substr ( string $string , int $start , int $length = ? ) : string # 返回字串 string 由 start 和 length 引數指定的子字串。 # 同 substr_replace 一樣,start也可以為負數的 # 示例 echo substr($mobile, 0,3) . '****' . substr($mobile, 7,4); echo substr($mobile, 0,3) . '****' . substr($mobile, -4,4);
總結
方法有很多,多數情況是在情況選擇那種更加合適.
本作品採用《CC 協議》,轉載必須註明作者和本文連結