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 10 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
Aug 07 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
Jun 18 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 PHP
php接口技术实例详解
Dec 07 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 PHP
PHP日期和时间函数的使用示例详解
Aug 06 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/05/11 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
CSS常用网站布局实例
2008/04/03 Javascript
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
JS 弹出层 定位至屏幕居中示例
2014/05/21 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
Python读大数据txt
2016/03/28 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
南非领先的在线旅行社:Travelstart南非
2016/09/04 全球购物
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
怎样写好自我评价呢?
2014/02/16 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
涨价通知
2015/04/23 职场文书