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 Hex RGB颜色值互换的使用
May 10 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
ThinkPHP表单自动验证实例
Oct 13 PHP
PHP易混淆函数的区别及用法汇总
Nov 22 PHP
为PHP5.4开启Zend OPCode缓存
Dec 26 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
Dec 21 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
PHP中rename()函数的妙用讲解
Feb 28 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
PHP的垃圾回收机制代码实例讲解
Feb 27 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
js实现点击烟花特效
2020/10/14 Javascript
python求众数问题实例
2014/09/26 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
图文详解python安装Scrapy框架步骤
2019/05/20 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
python有几个版本
2020/06/17 Python
python爬虫请求头的使用
2020/12/01 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
华为c/c++笔试题
2016/01/25 面试题
2014厂务公开实施方案
2014/02/17 职场文书
工作评语大全
2014/04/26 职场文书
师德师风演讲稿
2014/05/05 职场文书
高三教师工作总结2015
2015/07/21 职场文书
体育部部长竞选稿
2015/11/21 职场文书
如何用python反转图片,视频
2021/04/24 Python
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL