在项目中需要对字符串的部分进行隐藏或者替换。譬如手机号码的中间几位进行隐藏,中文名字的中间替换为*号等。

英文和数字等可直接用php的自带的函数进行处理。但是中文因为编码的缘故会出现不一样的效果。需要自己定义方法进行处理。此处针对大多数UTF-8的用户。

//英文和数字等

substr_replace() 函数把字符串的一部分替换为另一个字符串。

substr_replace(string,replacement,start,length);

echo substr_repalce('18687494999','****',3,4);//得到186****4999

//对于UTF-8的中文

//使用该方法可以替换中文字符串的内容--使用方法类似于substr_replace_cn

//在utf-8下一个汉字占三个字节

//$repalce 为要替换成的字符串 start为开始的字符位置默认0开始 len为替换的长度

public function substr_replace_cn($string, $repalce = '*',$start = 0,$len = 0) {

$count = mb_strlen($string, 'UTF-8'); //此处传入编码,建议使用utf-8。此处编码要与下面mb_substr()所使用的一致

if(!$count) { return $string; }

if($len == 0){

$end = $count; //传入0则替换到最后

}else{

$end = $start + $len;//传入指定长度则为开始长度+指定长度

}

$i = 0;

$returnString = '';

while ($i < $count) {//循环该字符串

$tmpString = mb_substr($string, $i, 1, 'UTF-8'); // 与mb_strlen编码一致

if ($start <= $i && $i < $end) {

$returnString .= $repalce;

} else {

$returnString .= $tmpString;

}

$i ++;

}

return $returnString;

}

//使用正则表达式---视情况而定

preg_replace()//执行正则表达式的搜索和替换

preg_replace($pattern, $replacement, $string);

[/php]

No matter how your heart is grieving, if you keep on believing, the dreams that you wish will come true.

不管心有多痛,若坚信不移,梦想总会成真。

php 字符串替换中文,PHP中文字符串替换其中为*的方法相关推荐

  1. php substr_replace 中文乱码,php substr_replace替换字符串一些实例_PHP教程

    substr_replace与str_replace有一点像就是直接把字符串替换一部份了,下面小编来给各位同学介绍一下 操作方法. substr_replace() 函数把字符串的一部分替换为另一个字 ...

  2. spring字符串判空_字符串工具类StringUtils实现字符串是否中文、字符串分割/判空/替换/查找、是否包含乱码及字符串数组合并等常规操作...

    一.前言 关于字符串工具类StringUtils实现字符串是否包含isChinese中文.是否包含isMessyCode乱码.常规数据类型转换.替换/删除/判空.两字符串数组mergeStringAr ...

  3. python字符串替换中文_python -- 字符串的替换-Go语言中文社区

    [问题描述] python中的空值是用None来实现的,但是在实现java的指标上线时,无法解析我的字符串中的None字符,所以我需要将字符串中的None转化为null. 即:字符串转化:" ...

  4. java 判断 中文字符_java中判断字符串中是否有中文字符

    package com.meritit.test; public class TestChart { public static void main(String[] args) throws Exc ...

  5. IPHONE 开发 7 -- Object C 02 字符串NSString 与 char* ,字符串的遍历,字符串的比较,截取与大小写改变,搜索字符串与替换字符串...

    Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...

  6. php替换中文,PHP中文替换

    //定义编码 header( 'Content-Type:text/html;charset=utf-8 '); $words=array('我','你','他'); $content="测 ...

  7. java字符替换函数示例_Java字符串替换函数replace()用法解析

    Java字符串替换函数replace()用法解析 这篇文章主要介绍了Java字符串替换函数replace()用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的 ...

  8. Html字符串生成pdf的方法 支持中文及中文换行 可行demo和jar

    中文换行修改好后的jar:http://download.csdn.net/download/weixin_36795183/9983888 pdf.JS http://download.csdn.n ...

  9. java 替换文件中的字符串

    import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.Prin ...

最新文章

  1. 最通俗易懂的面向对象著作
  2. Oracle osw监控工具的使用示例
  3. api网关揭秘--spring cloud gateway源码解析
  4. struct和typedef struct区别
  5. 数据可视化--pyecharts绘图
  6. Rabbitmq消息过期时间设置
  7. 【爬虫实战】9应用Python网络爬虫——利用Post定向爬取下载慕课MOOC视频
  8. 如何将CAD转换成黑白的PDF文档?
  9. python配对t检验_T检验第二篇(SPSS,SAS,R,Python) 配对T检验
  10. 运行maven项目报错 :The forked VM terminated without saying properly goodbye. VM crash or System.exit calle
  11. mysql 50个经典语句_MYSQL经典语句大全——技巧篇
  12. 华为 M5680t对HGU ONU配置指导
  13. IRF(智能弹性架构)
  14. Frog青蛙的约会【浙江省选2002】(数论)
  15. 计算机毕业设计JavaWeb企业客户管理系统(源码+系统+mysql数据库+lw文档)
  16. 这几个视频提取音频的方法很实用,快来学习
  17. 刷屏专用超长复制_跪求超超长刷屏字符剑。。
  18. Cell丨一图读懂西湖实验室蔡尚团队揭示乳腺癌“胞内菌”在肿瘤转移定植中作用...
  19. Time-wait状态(2MSL)一些理解
  20. 信息学奥赛一本通(c++):2036:【例5.3】开关门

热门文章

  1. 南华大学计算机学院龚向坚,李跃-计算机科学与技术学院
  2. 【PE结构】由浅入深PE基础学习-菜鸟手动查询导出表、相对虚拟地址(RVA)与文件偏移地址转换(FOA)...
  3. android 微信公众号开发教程,微信公众号-开发者-自定义菜单,公众开发者
  4. java实现高斯日记
  5. Installation failed with message Failed to finalize session : INSTALL_FAILED_INVALID_APK:
  6. 活动预告丨易盾CTO朱浩齐将出席2018 AIIA大会,分享《人工智能在内容安全的应用实践》
  7. 超火的口红机源码分享
  8. lopa分析_SIS知识贴:一文看懂保护层分析暨LOPA分析
  9. 视频的帧率和分辨率以及码率的关系
  10. 关于java的毕业设计_我的java毕业设计之路回顾