php 中文字符串,如姓名替换中间的字为“*”

该博客探讨了如何使用PHP进行字符串处理,包括计算长度、截取字符串并进行信息隐藏。函数`ceshi`展示了如何在姓名中隐藏中间部分,而`substrCut`函数则用于隐藏除首尾字符外的其他字符。这些技巧在保护个人信息和数据安全方面具有应用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*替换,自己需要的字符串
注意:红色部分根据自己需要修改成自己的长度会起始位置
*/
function ceshi($name){
    // 计算字符串长度,无论汉字还是英文字符全部为1
    $length = mb_strlen($name,'utf-8');

    // 截取前面字符串
    $firstStr1 = mb_substr($name,0,intval(ceil($length/4)),'utf-8');
    // 截取中间字符串代码
    $firstStr = mb_substr($name,intval(ceil($length/4)),intval(floor($length/2)),'utf-8');
    // 截取剩余字符串
    $firstStr2 = mb_substr($name,intval(ceil($length/4)) + intval(floor($length/2)), intval(floor(($length+1)/2 - 1)),'utf-8');

    return $firstStr1 . str_repeat("*",mb_strlen($firstStr,'utf-8')) . $firstStr2;
}

/*替换,姓名字符串*/

public function substrCut($userName)
{
    $strlen = mb_strlen($userName, 'utf-8');
    $firstStr = mb_substr($userName, 0, 1, 'utf-8');
    $lastStr = mb_substr($userName, -1, 1, 'utf-8');
    $resultName = ($strlen == 2) ? $firstStr . str_repeat('*', mb_strlen($userName, 'utf-8') - 1) : $firstStr . str_repeat("*", $strlen - 2) . $lastStr;

    return $resultName;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值