Laravel 8.69 released with "Str::mask()" method which masks a portion of string with a repeated character
class PasswordResetLinkController extends Controller{ public function sendResetLinkResponse(Request $request) { $userEmail = User::where('email', $request->email)->value('email'); // username@domain.com $maskedEmail = Str::mask($userEmail, '*', 4); // user*************** // If needed, you provide a negative number as the third argument to the mask method, // which will instruct the method to begin masking at the given distance from the end of the string $maskedEmail = Str::mask($userEmail, '*', -16, 6); // use******domain.com }}
Tip given by @Teacoders