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 相关文章推荐
php自动跳转中英文页面
Jul 29 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
May 04 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
PHP 万年历实现代码
Oct 18 PHP
php+mysqli批量查询多张表数据的方法
Jan 29 PHP
PHP中异常处理的一些方法整理
Jul 03 PHP
php获取数据库结果集方法(推荐)
Jun 01 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
Mar 27 PHP
PHP程序员必须知道的两种日志实例分析
May 14 PHP
Yii使用DbTarget实现日志功能的示例代码
Jul 21 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可变函数的经典用法
2013/06/20 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
Javascript的比较汇总
2016/07/25 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
浅探express路由和中间件的实现
2019/09/30 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
如何在python中写hive脚本
2019/11/08 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
python实现对变位词的判断方法
2020/04/05 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
模具毕业生推荐信
2014/02/15 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
幼儿园标语大全
2014/06/19 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
python process模块的使用简介
2021/05/14 Python
python操作xlsx格式文件并读取
2021/06/02 Python
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
React自定义hook的方法
2022/06/25 Javascript
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技