mail address like d*****@g*****.com. * * @param string $email The email address to mask. * * @return string The masked email address. */ public function mask_email_address( string $email ): string { $parts = explode( '@', $email ); $name = substr( $parts[0], 0, 1 ) . str_repeat( '*', strlen( $parts[0] ) - 1 ); $domain_parts = explode( '.', $parts[1] ); $domain = substr( $domain_parts[0], 0, 1 ) . str_repeat( '*', strlen( $domain_parts[0] ) - 1 ); // Join all domain parts except the first one with dots $tld = implode( '.', array_slice( $domain_parts, 1 ) ); return "{$name}@{$domain}.{$tld}"; } }