分享好友 教程首页 教程搜索 频道列表

PHP隐藏部分字符串(如:姓名、用户名、身份证、IP、手机号等)函数

2021-12-24 15:103670
+关注29
核心提示:PHP隐藏部分字符串(如:姓名、用户名、身份证、IP、手机号等)函数。此函数用法 ...

PHP隐藏部分字符串(如:姓名、用户名、身份证、IP、手机号等)函数。此函数用法 和 PHP内置函数 substr(),几乎是一样的。只不过 substr() 是用于截取,而hidestr()是隐藏

function hidestr($string, $start = 0, $length = 0, $re = '*') {
    if (empty($string)) return false;
    $strarr = array();
    $mb_strlen = mb_strlen($string);
    while ($mb_strlen) {//循环把字符串变为数组
        $strarr[] = mb_substr($string, 0, 1, 'utf8');
        $string = mb_substr($string, 1, $mb_strlen, 'utf8');
        $mb_strlen = mb_strlen($string);
    }
    $strlen = count($strarr);
    $begin  = $start >= 0 ? $start : ($strlen - abs($start));
    $end    = $last   = $strlen - 1;
    if ($length > 0) {
        $end  = $begin + $length - 1;
    } elseif ($length < 0) {
        $end -= abs($length);
    }
    for ($i=$begin; $i<=$end; $i++) {
        $strarr[$i] = $re;
    }
    if ($begin >= $end || $begin >= $last || $end > $last) return false;
    return implode('', $strarr);
}


参数说明:

* 将一个字符串部分字符用$re替代隐藏
 * @param string    $string   待处理的字符串
 * @param int       $start    规定在字符串的何处开始,
 *                            正数 - 在字符串的指定位置开始
 *                            负数 - 在从字符串结尾的指定位置开始
 *                            0 - 在字符串中的第一个字符处开始
 * @param int       $length   可选。规定要隐藏的字符串长度。默认是直到字符串的结尾。
 *                            正数 - 从 start 参数所在的位置隐藏
 *                            负数 - 从字符串末端隐藏
 * @param string    $re       替代符
 * @return string   处理后的字符串

最使用终效果如下:

//隐藏手机号中间4位
hidestr('18600005940', 3, 4); //186****5940

//只保留姓名里的最后一个字,常见与ATM,网银等
hidestr('谢世亮', 0, -1); //**亮

//隐藏邮箱部分内容,常见网站帐号,如支付宝等
list($name, $domain) = explode('@', '979137@qq.com');
hidestr($name, 1, -1) . '@' . hidestr($domain, 0, 2); // 9****7@**.com

本文标签: #手机 #号 #隐藏
整理员:小黑
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
生成海报
您可能在找更多

修复DESTOON9.0微信扫码和支付宝扫码付款页面空白的问题

    函数有错误,导致后台填写了扫码付款通知手机或者邮箱发生页面空白

小黑 开发技术2023-11-03

在H5手机端页面上显示弹窗后禁止底层滚动的解决方案

    今天介绍在H5手机端页面上显示弹窗后禁止底层滚动的解决方案

小黑 JavaScript教程2023-07-28

手机版如何添加第三方统计

    手机版统计代码一般添加在手机版的footer模板内,body标签之前,默认位于站点目录/template/default/mobile/footer.htm1、JS格式统计代码大多数第三方统计默认会提供JS统计代码,但是手机版由于开启了动画效果,如果

网络转载 移动端模板制作2023-06-09

DESTOON9.0以下的版本如何修复电脑版微信小程序跳转到电脑版

    按照9.0的代码去修改

小黑 destoon程序2023-04-13

手机版上的弹窗html、css、js

    以下是一个简单的示例弹窗的 HTML、CSS 和 JavaScript 代码,这个弹窗的样式和动作分别由 CSS 和 JavaScript 控制。当页面加载完毕后,自动运行

小黑 CSS教程2023-04-12

下一篇
我来说两句
抢沙发