我正在构建一个简单的朋友/好友系统,当有人试图搜索新朋友时,我想显示部分隐藏的电子邮件地址,以便了解用户可能是谁,而不会泄露实际细节.
所以我想abcdlkjlkjk@hotmail.com成为abcdl******@hotmail.com.
作为测试,我写道:
<?php
$email = "abcdlkjlkjk@hotmail.com";
$em = explode("@",$email);
$name = $em[0];
$len = strlen($name);
$showLen = floor($len/2);
$str_arr = str_split($name);
for($ii=$showLen;$ii<$len;$ii++){
$str_arr[$ii] = '*';
}
$em[0] = implode('',$str_arr);
$new_name = implode('@',$em);
echo $new_name;
Run Code Online (Sandbox Code Playgroud)
这有效,但我想知道是否有更简单/更短的方法来应用相同的逻辑?可能像正则表达式?
我有一个简单的任务与PHP,但由于我不熟悉正则表达式或其他东西......我不知道我将要做什么.
我想要的是非常简单的......
假设我有这些变量:
$Email = 'john@example.com'; // output : ****@example.com
$Email2 = 'janedoe@example.com'; // output : *******@example.com
$Email3 = 'johndoe2012@example.com'; // output : ***********@example.com
$Phone = '0821212121'; // output : 082121**** << REPLACE LAST FOUR DIGIT WITH *
Run Code Online (Sandbox Code Playgroud)
如何用PHP做到这一点?谢谢.
任何人都可以用简单的方法帮我解决这个问题...我有这个邮件地址
abcedf@gmail.com。
如何转换此邮件地址
a****f@gmail.com
我尝试使用strpos并获取@但我无法获取中间值并将其更改为****. 任何人都可以帮助找到这个问题。