<?php
function maskMiddle(string $s, int $keepStart = 4, int $keepEnd = 4, string $mask = '*'): string {
$len = mb_strlen($s);
if ($len <= $keepStart + $keepEnd) return str_repeat($mask, $len);
$start = mb_substr($s, 0, $keepStart);
$end = mb_substr($s, -$keepEnd);
return $start . str_repeat($mask, $len - $keepStart - $keepEnd) . $end;
}
function maskEmail(string $email): string {
[$user, $domain] = array_pad(explode('@', $email, 2), 2, '');
$userMasked = mb_strlen($user) <= 2
? str_repeat('*', mb_strlen($user))
: mb_substr($user, 0, 1) . str_repeat('*', mb_strlen($user) - 2) . mb_substr($user, -1);
return $userMasked . '@' . $domain;
}
echo maskMiddle('4242424242424242'); // 4242********4242
echo maskEmail('hello@example.com'); // h***o@example.com
echo maskMiddle('sk_live_AbC1234', 7, 0); // sk_live_********
Create a free account and build your private vault. Share publicly whenever you want.