From 2a378985609fff8d36464379f40e6f1d86761bf3 Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 16 Aug 2024 06:46:26 +0200 Subject: [PATCH] Create function 'PhoneNumber::mask' --- src/PhoneNumber.php | 67 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/PhoneNumber.php diff --git a/src/PhoneNumber.php b/src/PhoneNumber.php new file mode 100644 index 0000000..ab25052 --- /dev/null +++ b/src/PhoneNumber.php @@ -0,0 +1,67 @@ += 7) { + $phoneNumber = \mb_substr($phoneNumber, 0, 2) . '***' . \mb_substr($phoneNumber, -2); + } + elseif ($significantCharsLength === 6) { + $phoneNumber = \mb_substr($phoneNumber, 0, 2) . '**' . \mb_substr($phoneNumber, -2); + } + elseif ($significantCharsLength === 5) { + $phoneNumber = \mb_substr($phoneNumber, 0, 1) . '**' . \mb_substr($phoneNumber, -2); + } + elseif ($significantCharsLength === 4) { + $phoneNumber = \mb_substr($phoneNumber, 0, 1) . '**' . \mb_substr($phoneNumber, -1); + } + elseif ($significantCharsLength === 3) { + $phoneNumber = '**' . \mb_substr($phoneNumber, -1); + } + elseif ($significantCharsLength === 2) { + $phoneNumber = '**'; + } + else { + $phoneNumber = '*'; + } + + if ($hasLeadingPlus) { + $phoneNumber = '+' . $phoneNumber; + } + + return $phoneNumber; + } + +}