PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】


Posted in PHP onMarch 11, 2019

本文实例讲述了PHP实现的只保留字符串首尾字符功能。分享给大家供大家参考,具体如下:

整理提供两个PHP函数,用于字符串的隐藏效果

①. 隐藏部分字符串

/**
* 隐藏部分字符串
* # 此方法多用于手机号码或身份证号、银行卡号的中间部分数字的隐藏
*/
function func_substr_replace($str, $replacement = '*', $start = 1, $length = 3)
{
  $len = mb_strlen($str,'utf-8');
  if ($len > intval($start+$length)) {
    $str1 = mb_substr($str,0,$start,'utf-8');
    $str2 = mb_substr($str,intval($start+$length),NULL,'utf-8');
  } else {
    $str1 = mb_substr($str,0,1,'utf-8');
    $str2 = mb_substr($str,$len-1,1,'utf-8');
    $length = $len - 2;
  }
  $new_str = $str1;
  for ($i = 0; $i < $length; $i++) {
    $new_str .= $replacement;
  }
  $new_str .= $str2;
  return $new_str;
}

②. 隐藏部分字符串

/**
 * 只保留字符串首尾字符,隐藏中间用*代替(两个字符时只显示第一个)
 * @param string $user_name 姓名
 * @return string 格式化后的姓名
 */
function substr_cut($user_name){
  $strlen   = mb_strlen($user_name, 'utf-8');
  $firstStr   = mb_substr($user_name, 0, 1, 'utf-8');
  $lastStr   = mb_substr($user_name, -1, 1, 'utf-8');
  return $strlen == 2 ? $firstStr . str_repeat('*', mb_strlen($user_name, 'utf-8') - 1) : $firstStr . str_repeat("*", $strlen - 2) . $lastStr;
}

PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
微信公众平台接口开发入门示例
Dec 24 PHP
php定时执行任务设置详解
Feb 06 PHP
PHP实现获取客户端IP并获取IP信息
Mar 17 PHP
Laravel 5框架学习之数据库迁移(Migrations)
Apr 08 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
PhpStorm terminal无法输入命令的解决方法
Oct 09 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
php 从一个数组中随机的取出若干个不同的数实例
Dec 31 PHP
PHP-FPM 的管理和配置详解
Feb 17 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
Mar 11 #PHP
PHP join()函数用法与实例讲解
Mar 11 #PHP
PHP lcfirst()函数定义与用法
Mar 08 #PHP
浅谈PHPANALYSIS提取关键字
Mar 08 #PHP
PHP levenshtein()函数用法讲解
Mar 08 #PHP
PHP implode()函数用法讲解
Mar 08 #PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 #PHP
You might like
php 数组排序 array_multisort与uasort的区别
2011/03/24 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
使用js dom和jquery分别实现简单增删改
2014/09/11 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
JavaScript如何操作css
2020/10/24 Javascript
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
使用python脚本自动创建pip.ini配置文件代码实例
2019/09/20 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
Overload和Override的区别
2012/09/02 面试题
会计专业推荐信
2013/10/29 职场文书
搞笑爱情保证书
2014/04/29 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
签字仪式主持词
2015/07/03 职场文书
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android