Очищенный и отфильтрованный номер мобильного телефона и адрес электронной почты в php
Я хочу санировать электронную почту и номер мобильного телефона в нечитаемом формате, чтобы конечный пользователь не мог их прочитать.
Для электронной почты abc.xyz@gmail.com
будет продезинфицировать как a****************
Для мобильного 989898989898
будет продезинфицировать как 9*********
1 ответ
<?php
function sanitizeEmailAndMobile($text) {
$banPhoneNo = $banEmailId = true;
$text = htmlspecialchars($text, ENT_NOQUOTES);
$text = str_replace("\n\r","\n",$text);
$text = str_replace("\r\n","\n",$text);
$text = str_replace("\n"," <br> ",$text);
if(!empty($banPhoneNo)){
preg_match_all('/\b[0-9]{3}\s*[-]?\s*[0-9]{3}\s*[-]?\s*[0-9]{4}\b/',$text,$phone);
$phone = $phone[0];
for ($i=0;$i < count($phone);$i++) {
$text = str_ireplace(' '.$phone[$i].' ',' '.$phone[$i][0].str_repeat("*",strlen($phone[$i])-1).' ',' '.$text.' ');
}
$text = trim($text);
}
if(!empty($banEmailId)){
preg_match_all('/[a-z0-9_\-\+\.]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i',$text,$email);
$email = $email[0];
for ($i=0;$i < count($email);$i++) {
$text = str_ireplace(' '.$email[$i].' ',' '.$email[$i][0].str_repeat("*",strlen($email[$i])-1).' ',' '.$text.' ');
}
$text = trim($text);
}
return $text;
}
var_dump(sanitizeEmailAndMobile('8989898989'));
var_dump(sanitizeEmailAndMobile('abc.xyz@gmail.com'));
?>