From a25b57cd7b98f876f880c4f361e8b3e224524a70 Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 16 Aug 2024 06:44:17 +0200 Subject: [PATCH] Create function 'EmailAddress::mask' --- src/EmailAddress.php | 59 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/EmailAddress.php diff --git a/src/EmailAddress.php b/src/EmailAddress.php new file mode 100644 index 0000000..969babf --- /dev/null +++ b/src/EmailAddress.php @@ -0,0 +1,59 @@ += 5) { + $parts[$i] = \mb_substr($parts[$i], 0, 1) . '***' . \mb_substr($parts[$i], -1); + } + elseif (\mb_strlen($parts[$i]) === 4) { + $parts[$i] = \mb_substr($parts[$i], 0, 1) . '**' . \mb_substr($parts[$i], -1); + } + elseif (\mb_strlen($parts[$i]) === 3 && $i <= 1) { + $parts[$i] = \mb_substr($parts[$i], 0, 1) . '*' . \mb_substr($parts[$i], -1); + } + elseif (\mb_strlen($parts[$i]) === 2 && $i <= 1) { + $parts[$i] = \mb_substr($parts[$i], 0, 1) . '*'; + } + elseif (\mb_strlen($parts[$i]) === 1 && $i <= 1) { + $parts[$i] = '*'; + } + } + + // join the individual parts back together + return \array_shift($parts) . '@' . \implode('.', $parts); + } + +}