php怎么实现隐藏部分字符
封面图
•
2025-10-29
•
PHP
165
0
0
0
在 PHP 中,**隐藏部分字符**通常用于对敏感信息进行脱敏处理,比如手机号、身份证号、邮箱等。常见的做法是使用 `substr()` 函数来截取字符串的一部分,并用星号(`*`)或其他符号替换掉中间的部分。 --- ### ✅ 示例:隐藏手机号 ```php function hidePhone($phone) { // 假设手机号是11位 return substr($phone, 0, 3) . '****' . substr($phone, 7); } $phone = "13812345678"; echo hidePhone($phone); // 输出: 138****5678 ``` --- ### ✅ 示例:隐藏身份证号 ```php function hideIdCard($idCard) { // 假设身份证是18位 return substr($idCard, 0, 6) . '********' . substr($idCard, 14); } $idCard = "110101199003072316"; echo hideIdCard($idCard); // 输出: 110101********2316 ``` --- ### ✅ 示例:隐藏邮箱 ```php function hideEmail($email) { $atPos = strpos($email, '@'); return substr($email, 0, 1) . '****' . substr($email, $atPos); } $email = "example@example.com"; echo hideEmail($email); // 输出: e****@example.com ``` --- ### ✅ 更通用的函数(适用于各种字符串) ```php function hideMiddleChars($str, $showLength = 2, $replaceChar = '*') { $length = strlen($str); if ($length <= $showLength * 2) { return $str; // 如果长度不够,不隐藏 } $left = substr($str, 0, $showLength); $right = substr($str, -$showLength); $middle = str_repeat($replaceChar, $length - $showLength * 2); return $left . $middle . $right; } // 使用示例 echo hideMiddleChars("13812345678"); // 输出: 13****5678 echo hideMiddleChars("example@example.com"); // 输出: ex****@example.com ``` --- ### ✅ 总结 | 场景 | 方法 | |------------|------------------------------| | 手机号 | `substr()` + `*` | | 身份证号 | `substr()` + `*` | | 邮箱 | `substr()` + `*` | | 通用逻辑 | 自定义函数,支持多种格式 | 如果你有具体的字段或格式需求,可以告诉我,我可以帮你定制更合适的隐藏方式。
上一篇:
修改phpmyadmin配置mysql端口号
下一篇:
使用PhpSpreadsheet导入和导出Excel
标题录入,一次不能超过6条
留言
评论