3v4l.org

run code in 300+ PHP versions simultaneously
<?php function obfuscate_email($email) { $em = explode("@",$email); $name = implode(array_slice($em, 0, count($em)-1), '@'); $len = floor(strlen($name)/2); return substr($name,0, $len) . str_repeat('*', $len) . "@" . end($em); } // to see in action: $emails = ['"Abc\@def"@iana.org', 'abcdlkjlkjk@hotmail.com', 'cal(foo\@bar)@iamcal.com']; foreach ($emails as $email) { echo obfuscate_email($email) . "\n"; }

preferences:
43.76 ms | 402 KiB | 5 Q