新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
php怎么隱藏部分內(nèi)容
本文操作環(huán)境:Windows7系統(tǒng)、php7.1版、DELL G3電腦

php 怎么隱藏部分內(nèi)容?
PHP隱藏部分字符串(如:姓名、用戶名、身份證、IP、手機號等)函數(shù)
此函數(shù)用法 和 PHP內(nèi)置函數(shù) substr(),幾乎是一樣的。只不過 substr() 是用于截取,而hidestr()是隱藏~
/**
* 將一個字符串部分字符用$re替代隱藏
* @param string $string 待處理的字符串
* @param int $start 規(guī)定在字符串的何處開始,
* 正數(shù) - 在字符串的指定位置開始
* 負數(shù) - 在從字符串結(jié)尾的指定位置開始
* 0 - 在字符串中的第一個字符處開始
* @param int $length 可選。規(guī)定要隱藏的字符串長度。默認(rèn)是直到字符串的結(jié)尾。
* 正數(shù) - 從 start 參數(shù)所在的位置隱藏
* 負數(shù) - 從字符串末端隱藏
* @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) {//循環(huán)把字符串變?yōu)閿?shù)組
$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,網(wǎng)銀等
hidestr('謝世亮', 0, -1); //**亮
//隱藏郵箱部分內(nèi)容,常見網(wǎng)站帳號,如支付寶等
list($name, $domain) = explode('@', '[email protected]');
hidestr($name, 1, -1) . '@' . hidestr($domain, 0, 2); // 9****7@**.com 分享文章:php怎么隱藏部分內(nèi)容
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/djhghch.html


咨詢
建站咨詢
