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+mysql扎实个人基本功
Mar 27 PHP
PHP容易忘记的知识点分享
Apr 30 PHP
使用PHP编写的SVN类
Jul 18 PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 PHP
php控制文件下载速度的方法
Mar 24 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
Nov 04 PHP
Zend Framework缓存Cache用法简单实例
Mar 19 PHP
深入理解PHP原理之执行周期分析
Jun 01 PHP
PHPCMS忘记后台密码的解决办法
Oct 30 PHP
PHP字典树(Trie树)定义与实现方法示例
Oct 09 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 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
Zend Studio (eclipse)使用速度优化方法
2011/03/23 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
5种处理js跨域问题方法汇总
2014/12/04 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
Python中的字符串类型基本知识学习教程
2016/02/04 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
numpy 计算两个数组重复程度的方法
2018/11/07 Python
python实现超市商品销售管理系统
2019/11/22 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
简单的辞职信范文
2014/01/18 职场文书
大学生素质拓展活动方案
2014/02/11 职场文书
教师党员一句话承诺
2014/03/28 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
信访维稳工作汇报
2014/10/27 职场文书
先进人物事迹材料
2014/12/29 职场文书
借钱欠条怎么写
2015/07/03 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL