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和ACCESS写聊天室(七)
Oct 09 PHP
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
Dec 16 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
Jan 14 PHP
使用openssl实现rsa非对称加密算法示例
Jan 24 PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
PHP中mysqli_affected_rows作用行数返回值分析
Dec 26 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
Oct 30 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 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
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
微信小程序实现发红包功能
2018/07/11 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
[01:09:24]Ti4开幕式
2014/07/19 DOTA
Python中__init__和__new__的区别详解
2014/07/09 Python
Python比较两个图片相似度的方法
2015/03/13 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
Python模拟三级菜单效果
2017/09/11 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
python实现图片横向和纵向拼接
2020/03/05 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
python如何操作mysql
2020/08/17 Python
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
火山动力Java笔试题
2014/06/26 面试题
小学生田径运动会广播稿
2014/09/11 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
思想政治表现评语
2015/01/04 职场文书
英文感谢信范文
2015/01/21 职场文书
暑假安全保证书
2015/02/28 职场文书
储备店长岗位职责
2015/04/14 职场文书
在校大学生才艺比赛策划书怎么写?
2019/08/26 职场文书
Feign调用传输文件异常的解决
2021/06/24 Java/Android
Java数组与堆栈相关知识总结
2021/06/29 Java/Android
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL