PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】

PHP实现的只保留字符串首尾字符功能。具体如下:

整理提供两个PHP函数,用于字符串的隐藏效果

①. 隐藏部分字符串

/**  * 隐藏部分字符串  * # 此方法多用于手机号码或身份证号、银行卡号的中间部分数字的隐藏  */  
function func_substr_replace($str, $replacement = '*', $start = 1, $length = 3)  {
    $len = mb_strlen($str,'utf-8');
    if ($len > intval($start+$length)) {
      $str1 = mb_substr($str,0,$start,'utf-8');
      $str2 = mb_substr($str,intval($start+$length),NULL,'utf-8');
    } else {
      $str1 = mb_substr($str,0,1,'utf-8');
      $str2 = mb_substr($str,$len-1,1,'utf-8');
      $length = $len - 2;
    }
    $new_str = $str1;
    for ($i = 0; $i < $length; $i++) {
      $new_str .= $replacement;
    }
    $new_str .= $str2;
    return $new_str; 
}

②. 隐藏部分字符串

/**   * 只保留字符串首尾字符,隐藏中间用*代替(两个字符时只显示第一个)
   * @param string $user_name 姓名
   * @return string 格式化后的姓名
   */
function substr_cut($user_name){
    $strlen   = mb_strlen($user_name, 'utf-8');
    $firstStr   = mb_substr($user_name, 0, 1, 'utf-8');
    $lastStr   = mb_substr($user_name, -1, 1, 'utf-8');
    return $strlen == 2 ? $firstStr . str_repeat('*', mb_strlen($user_name, 'utf-8') - 1) : $firstStr . str_repeat("*", $strlen - 2) . $lastStr;
}

希望本文所述对大家PHP程序设计有所帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论