我不熟悉PHP脚本,一个字符串的中间部分将被审查。
例如: 的 developer@example.com 下, 将变成: 的开发板的********* le.com
这样做干净有效的方法是什么?
我的代码:
$target = "example@example.com";
$count = strlen($target) - 7;
$asterix = '';
for ($a = 0; $a <= $count; $a++) {
$asterix .= '*';
}
$output = substr($target, 0, 4) . $asterix . substr($target, -3);
echo $output;
修改
你们所有人都在对其中的astrixes( ** )进行硬编码......我希望它是准确的。
它解决了bij Sadiq。你是真正的MVP人。
答案 0 :(得分:2)
你可以做这样的事情
$target = "example@example.com";
$count = strlen($target) - 7;
$output = substr_replace($target, str_repeat('*', $count), 4, $count);
echo $output;
答案 1 :(得分:0)
使用PHP的substr函数。
http://php.net/manual/en/function.substr.php
$emailAddr = "developer@mydomain.com";
$emailAddrHidden = substr($emailAddr, 0, 6) . "*******" . substr($emailAddr, -6, 6);
echo $emailAddrHidden;
答案 2 :(得分:0)
当电子邮件地址的长度发生变化时,此代码将起作用:
$email = 'developer@example.com';
$length = strlen($email); //Find the string length
$astr='';
for ($i=1;$i<=$length-12;$i++){$astr .= '*';}
echo substr($email, 0, 6) . $astr . substr($email, -6 , 6);