-1

I want to get a phone number in this format

Your phone number ********8898 has been sent with a verification code..

PHP

5 Answers5

14

If you wanna mask middle part:

private function stringToSecret(string $string = NULL)
{
    if (!$string) {
        return NULL;
    }
    $length = strlen($string);
    $visibleCount = (int) round($length / 4);
    $hiddenCount = $length - ($visibleCount * 2);
    return substr($string, 0, $visibleCount) . str_repeat('*', $hiddenCount) . substr($string, ($visibleCount * -1), $visibleCount);
}

Result:

  • 1 => 1
  • 12 => 12
  • 123 => 1*3
  • 1234 => 1**4
  • 12345 => 1***5
  • 123456 => 12**56
  • 1234567 => 12***67
  • 12345678 => 12****78
  • ...
MakoBuk
  • 622
  • 1
  • 10
  • 19
7

If phonenumber length is more than 4, then you can do this:

substr_replace($number, str_repeat('*', strlen($number)-4), 0, -4);

If you want to also show the first digit:

substr_replace($number, str_repeat('*', strlen($number)-5), 1, -4);
Lee KM
  • 106
  • 1
  • 4
3

Try this

$phone_number = '******' . substr( $phone_number, - 4);
echo $phone_number;
sandip kakade
  • 1,346
  • 5
  • 23
  • 49
-3

you can use substr :

 $my_text = '12345678';

echo substr($my_text, 1);  // 2345678
moathdev
  • 246
  • 2
  • 9
-3
*******echo substr("9876543210", 6, 4);
Sagar Jajoriya
  • 2,377
  • 1
  • 9
  • 17