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 相关文章推荐
数据库的日期格式转换
Oct 09 PHP
怎样去阅读一份php源代码
Aug 21 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
PHP中使用sleep函数实现定时任务实例分享
Aug 21 PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 PHP
PHP函数extension_loaded()用法实例
Jan 19 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
php正则表达式获取内容所有链接
Jul 24 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
Dec 09 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
Oct 19 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 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 的几个配置文件函数
2006/12/21 PHP
php array_flip() 删除数组重复元素
2009/01/14 PHP
PHP中simplexml_load_string函数使用说明
2011/01/01 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
Node做中转服务器转发接口
2017/10/18 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
python远程登录代码
2008/04/29 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
Python中的整除和取模实例
2020/06/03 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
自习课吵闹检讨书范文
2014/09/26 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
小学工作总结2015
2015/05/04 职场文书
go select编译期的优化处理逻辑使用场景分析
2021/06/28 Golang
MySQL 逻辑备份 into outfile
2022/05/15 MySQL
Python自动化实战之接口请求的实现
2022/05/30 Python