Бортовой журнал Ктулху

Скрытие части email адреса

Скрытие части email адреса используется в различных формах восстановления паролей для того, чтобы улучшить безопасность при восстановлении доступа и при этом информировать пользователя, на какой адрес отправляется письмо.

secret13

Первый вариант самый простой, использующий регулярное выражение.

preg_replace('/(?:^|@).\K|\.[^@]*$(*SKIP)(*F)|.(?=.*?\.)/', '*', $email)

Выглядит результат работы так:

v***********@u****.ua

 

Другой вариант - 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); 
}

Результат:

abcdl*****@hotmail.com