4
How do I make an email mask with PHP showing some letters, all numbers and special characters? Ex: [email protected] should look like this: stack_______2015-_____@__tmail.com
4
How do I make an email mask with PHP showing some letters, all numbers and special characters? Ex: [email protected] should look like this: stack_______2015-_____@__tmail.com
3
I created this function below because I noticed that the pattern you need wouldn’t be easy just with regular expressions.
<?php
function mascara($email){
// vamos separar a string em 2 partes com explode
$mascara = explode("@", $email);
$part1Email = $mascara[0];
$part2Email = $mascara[1];
/*
PARTE 1 DA STRING:
*/
$quantidadeCarac = strlen($part1Email);
//calcula quantos caracteres tem na primeira parte da string
$inicio = $quantidadeCarac / 4;
// não vamos alterar o começo, então iremos separa-lo da string
$inicioString = substr($part1Email, 0, $inicio);
// fazemos a separação do inicio
$restanteString = str_replace($inicioString, "", $part1Email);
// pegaremos o restante
$restanteString = preg_replace( "/[^0-9_-]/", "_", $restanteString);
// vamos substituir tudo que não for numeros por "_"
/*
PARTE 2 DA STRING:
*/
$quantidadeCarac2 = strlen($part2Email);
// calcula quantos caracteres tem na segunda parte da string
$finalParte2 = substr($part2Email, 2, $quantidadeCarac2);
// vamos separar a parte final que não será alterada
$inicioParte2 = str_replace($finalParte2, "", $part2Email);
// separamos o começo
$inicioParte2 = preg_replace( "/[^0-9_-]/", "_", $inicioParte2);
// alteramos o começo
// finaliza a string juntando as partes
$mascaraNova = $inicioString.$restanteString."@".$inicioParte2.$finalParte2;
return $mascaraNova;
}
$string = "[email protected]";
$string = mascara($string);
echo $string;
?>
He returns this:
stacko_______2015-______@__tmail.com
email: [email protected]
He returns this:
geo______98__75@__quina.com.br
Browser other questions tagged php email
You are not signed in. Login or sign up in order to post.
Format mask or validation?
– rray
@rray mascara mesmo. I take it full and return the way it is in the description of the question. My goal is to hide some characters when showing the email to the user
– Gabriel Schmidt Cordeiro
which mask pattern you want to apply?
– Daniel Omine