شاید در برخی از سایت های دیده باشید که آدرس ایمیل به صورت خاصی با تعدادی کاراکتر نوشته می شود. یعنی شما همه آدرس ایمیل را نمی بینید بلکه بخشی از آدرس ایمیل را می بینید که اینکار هم به جهت لو نرفتن آدرس دقیق ایمیل هست و هم اینکه ربات ها نتوانند آدرس شمارا پیدا کرده و اسپم برای شما ارسال کنند.
در گوگل و یاهو و سایر وب میل های معتبر و همچنین شبکه های اجتماعی دقیقا به همین صورت وقتی وارد بخش فراموشی رمز عبور می شوید آدرس ایمیل شمارا مثلا به صورت mr****@***.com قرار می دهند.
با استفاده از 2 تابعی که در زیر نوشته شده براحتی میتوانید چنین خاصیتی را در کدهای خودتان قرار دهید.
function hideEmailAddress($email) { if(filter_var($email, FILTER_VALIDATE_EMAIL)) { list($first, $last) = explode('@', $email); $first = str_replace(substr($first, '3'), str_repeat('*', strlen($first)-3), $first); $last = explode('.', $last); $last_domain = str_replace(substr($last['0'], '1'), str_repeat('*', strlen($last['0'])-1), $last['0']); $hideEmailAddress = $first.'@'.$last_domain.'.'.$last['1']; return $hideEmailAddress; } } $email = "itsolutionstuff@gmail.com"; echo hideEmailAddress($email);
خروجی کد بالا به صورت زیر خواهد بود
its************@g****.com
و یا میتوانید از نمونه کد زیر استفاده کنید:
function hideEmailAddress($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); } $email = 'itsolutionstuff@gmail.com'; echo hideEmailAddress($email);
خروجی کد بالا به صورت زیر خواهد بود
itsolut*******@gmail.com
امیدوارم این آموزش به کارتون بیاد و بتونید ازش استفاده کنید.
نویسنده:حامی تیموری