您好,登錄后才能下訂單哦!
本篇內容介紹了“php如何隱藏部分內容”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
php隱藏部分內容的方法:1、創建一個PHP示例文件;2、通過“function hidestr($string, $start = 0, $length = 0, $re = '*') {...}”方法實現隱藏即可。
本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦
php 怎么隱藏部分內容?
PHP隱藏部分字符串(如:姓名、用戶名、身份證、IP、手機號等)函數
此函數用法 和 PHP內置函數 substr(),幾乎是一樣的。只不過 substr() 是用于截取,而hidestr()是隱藏~
/** * 將一個字符串部分字符用$re替代隱藏 * @param string $string 待處理的字符串 * @param int $start 規定在字符串的何處開始, * 正數 - 在字符串的指定位置開始 * 負數 - 在從字符串結尾的指定位置開始 * 0 - 在字符串中的第一個字符處開始 * @param int $length 可選。規定要隱藏的字符串長度。默認是直到字符串的結尾。 * 正數 - 從 start 參數所在的位置隱藏 * 負數 - 從字符串末端隱藏 * @param string $re 替代符 * @return string 處理后的字符串 */ function hidestr($string, $start = 0, $length = 0, $re = '*') { if (empty($string)) return false; $strarr = array(); $mb_strlen = mb_strlen($string); while ($mb_strlen) {//循環把字符串變為數組 $strarr[] = mb_substr($string, 0, 1, 'utf8'); $string = mb_substr($string, 1, $mb_strlen, 'utf8'); $mb_strlen = mb_strlen($string); } $strlen = count($strarr); $begin = $start >= 0 ? $start : ($strlen - abs($start)); $end = $last = $strlen - 1; if ($length > 0) { $end = $begin + $length - 1; } elseif ($length < 0) { $end -= abs($length); } for ($i=$begin; $i<=$end; $i++) { $strarr[$i] = $re; } if ($begin >= $end || $begin >= $last || $end > $last) return false; return implode('', $strarr); } //隱藏手機號中間4位 hidestr('18600005940', 3, 4); //186****5940 //只保留姓名里的最后一個字,常見與ATM,網銀等 hidestr('謝世亮', 0, -1); //**亮 //隱藏郵箱部分內容,常見網站帳號,如支付寶等 list($name, $domain) = explode('@', '979137@qq.com'); hidestr($name, 1, -1) . '@' . hidestr($domain, 0, 2); // 9****7@**.com
“php如何隱藏部分內容”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。