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

php 字符串替换中文,PHP中文字符串替换其中为*的方法在项目中需要对字符串的部分进行隐藏或者替换。譬如手机号码的中间几位进行隐藏,中文名字的中间替换为*号等。英文和数字等可直接用php的自带的函数进行处理。但是中文因为编码的缘故会出现不一样的效果。需要自己定义方法进行处理。此处针对大多数UTF-8的用户。//英文和数字等substr_replace()函数把字符串的一部分替换为另一个字符串。substr_replace(string,replace…

大家好,又见面了,我是你们的朋友全栈君。

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

英文和数字等可直接用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.

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142495.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java基准测试工具JMH使用

    Java基准测试工具JMH使用JMH,即JavaMicrobenchmarkHarness,这是专门用于进行代码的微基准测试的一套工具API。JMH由OpenJDK/Oracle里面那群开发了Java编译器的大牛们所开发。何谓MicroBenchmark呢?简单地说就是在方法层面上的benchmark,精度可以精确到微秒级。本文主要介绍了性能基准测试工具JMH,它可以通过一些功能来规避由JVM中的JIT或者其他优化对性能测试造成的影响。

    2022年7月27日
    3
  • 计算机如何修改任务管理器,win7如何更改任务管理器快捷键_win7更改任务管理器快捷键的教程…

    计算机如何修改任务管理器,win7如何更改任务管理器快捷键_win7更改任务管理器快捷键的教程…我们在打开任务管理器的时候,通常是CTRL+ALT+DEL就可以快速打开,不过有许多用户装完win7系统之后,发现任务管理器快捷键变成了Ctrl+Shift+Esc,这让用户们用着很不习惯,其实我们也可以自己手动更改快捷键,现在给大家带来win7更改任务管理器快捷键的教程。具体步骤如下:1、在“开始”菜单的搜索框输入指令gpedit.msc,回车打开Win7系统的组策略编辑器。2、在组策略编辑器里…

    2022年6月18日
    31
  • 解散群通知怎么写_家人微信群想解散通知怎么写「建议收藏」

    展开全部参考如bai下:1、明天我们这个群就要解du散了,请把这zhi个小礼物装dao在胸膛,它会化成你的信念专和力属量,鼓舞你去战胜狂风恶浪。2、不要说珍重,不要说再见,就这样,默默地离开。但愿,在金色的秋季,友谊之树上将垂下丰硕的果子,各位群友们珍重。3、你临别的微笑虽然只是短短的一瞬,但是摄在我心的底片上,却留下了永恒。我时时将它托在思念的掌心里,那形象是那么真切,那么清晰,群友们再见!4、…

    2022年4月3日
    416
  • java编译报错提示编码GBK的不可映射字符啥意思_java字符串编码转换

    java编译报错提示编码GBK的不可映射字符啥意思_java字符串编码转换在我想要在println输出一些中文的时候,发现编码出现错误原因:java程序在编译的时候,需要使用JDK开发工具包中的JAVAC.EXE命令,而JDK开发工具包是国际版的,默认格式为UNICODE的编码格式。因此在默认情况下,javac.exe会采用默认的编码格式,什么是默认的编码格式呢?也就是我们在编译JAVA程序时,在未指定源程序文件的编码格式的情况下,JDK会优先获取操作系统的file.encoding参数,然后JDK就把我们的JAVA源程序从file.encoding编码格式转化为JAVA

    2022年9月13日
    0
  • C# 读写 Photoshop PSD文件 操作类「建议收藏」

    C# 读写 Photoshop PSD文件 操作类「建议收藏」使用方法显示PSDOpenFileDialog_Dialog=newOpenFileDialog();_Dialog.Filter=”*.psd|*.psd”;if(_Dialog.ShowDialog()==DialogResult.OK){Zgke.MyImage.Image…

    2022年6月6日
    91
  • python不同开根号速度对比[通俗易懂]

    python不同开根号速度对比[通俗易懂]Took0.152364secondsTook0.061580secondsTook1.016529secondsTook0.215403seconds

    2022年7月5日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号