博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】使用 * 号来隐藏用户的邮箱地址能够对用户的个人信息进行有效的保护,本文讲述一下使用 PHP 来完成对邮箱地址的用星号 * 来保护用户的私密信息,其中比较重点的地方在于如何解决中文邮箱地址切割出现乱码问题。
邮箱格式分为 [email protected] 这样,我们需要隐藏的是 mafutian 中的除了字母和尾字母的所有字符即:m******n 这样,那么如何解决中文乱码问题呢,我们使用 mb_strlen,mb_substr 来解决此问题。完整的代码如下:
header('content-type:text/html;charset=utf-8');
$email1 = '[email protected]'; // 只有一个字母
$email2 = '[email protected]'; // 仅有二个字母
$email3 = '[email protected]'; // 超哥二个字母的昵称
$email4 = 'admin马富天@mafutian.net'; // 含有中文
saveEmail($email1);
saveEmail($email2);
saveEmail($email3);
saveEmail($email4);
function saveEmail($email)
{
$result = explode('@',$email);
$addr = $result[0];
$len = mb_strlen($addr,'utf-8');
$new_addr = '';
if($len == 1)
{
$new_addr = '*';
}elseif($len == 2)
{
$new_addr = mb_substr($addr,0,1,'utf-8');
$new_addr .= '*';
}elseif($len > 2)
{
$new_addr = mb_substr($addr,0,1,'utf-8');
$new_addr .= str_repeat('*',$len - 2);
$new_addr .= mb_substr($addr,$len-1,1,'utf-8');
}
$email = $new_addr.'@'.$result[1];
var_dump($email);
return $email;
}
运行的截图如下所示:
由此可知,我们实现了一个字母,二个字母,普通邮箱地址,含有中文的邮箱地址保密功能。
版权归 马富天PHP博客 所有
本文标题:《PHP 使用星号 * 来隐藏用户的邮箱地址实现保密功能》
本文链接地址:http://www.mafutian.net/4.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶0
踩0
评论审核未开启 |