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编程语言开发动态WAP页面
Oct 09 PHP
简单的用PHP编写的导航条程序
Oct 09 PHP
PHP开发中的错误收集,不定期更新。
Feb 03 PHP
自己写的php curl库实现整站克隆功能
Feb 12 PHP
php实现字符串反转输出的方法
Mar 14 PHP
php 使用fopen函数创建、打开文件详解及实例代码
Sep 24 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 PHP
php中青蛙跳台阶的问题解决方法
Oct 14 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
Apr 11 PHP
Yii框架小部件(Widgets)用法实例详解
May 15 PHP
THINKPHP5.1 Config的配置与获取详解
Jun 08 PHP
PHP 时间处理类Carbon
May 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
世界上第一台立体声收音机
2021/03/01 无线电
PHP XML数据解析代码
2010/05/26 PHP
php中常用字符串处理代码片段整理
2011/11/07 PHP
php根据年月获取季度的方法
2014/03/31 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
2014/08/23 PHP
浅谈php命令行用法
2015/02/04 PHP
jquery下checked取值问题的解决方法
2012/08/09 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
Python深入学习之闭包
2014/08/31 Python
Python批量转换文件编码格式
2015/05/17 Python
Anaconda入门使用总结
2018/04/05 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
pygame实现雷电游戏雏形开发
2018/11/20 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
斯福泰克软件测试面试题
2015/02/16 面试题
法务专员岗位职责
2014/01/02 职场文书
小学老师寄语大全
2014/04/04 职场文书
师范生见习报告范文
2014/11/03 职场文书
婚宴新郎致辞
2015/07/28 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
用Python创建简易网站图文教程
2021/06/11 Python