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 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
PHP读取XML值的代码(推荐)
Jan 01 PHP
php+mysql查询优化简单实例
Jan 13 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
PHP 获取ip地址代码汇总
Jul 05 PHP
PHP实现多文件上传的方法
Jul 08 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
Jun 29 PHP
PHP上传图片、删除图片简单实例
Nov 12 PHP
php正则判断是否为合法身份证号的方法
Mar 16 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 PHP
PHP常用正则表达式精选(推荐)
May 28 PHP
laravel 实现设置时区的简单方法
Oct 10 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遍历文件夹与子目录的函数代码
2011/09/26 PHP
php重定向的三种方法分享
2012/02/22 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python简单遍历字典及删除元素的方法
2016/09/18 Python
如何利用Python开发一个简单的猜数字游戏
2019/09/22 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
Python读取yaml文件的详细教程
2020/07/21 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
《画家乡》教学反思
2014/04/22 职场文书
大二学年个人总结
2015/03/03 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书
2016党校培训心得体会
2016/01/07 职场文书
nginx如何将http访问的网站改成https访问
2021/03/31 Servers
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python