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)
上一篇 2022年5月10日 下午2:00
下一篇 2022年5月10日 下午2:00


相关推荐

  • html5表格内容怎么居中_html表格上下居中

    html5表格内容怎么居中_html表格上下居中回答:IE6/7及IE8混杂模式中,text-align:center可以使块级元素也居中对齐。其他浏览器中,text-align:center仅作用于行内内容上。解决这个问题比较好的方式,就是为所有需要相对父容器居中对齐的块级元素设置“margin-left:Auto;margin-right:Auto”。但这个方式IE6/IE7/IE8的混杂模式中不支持,所以还要设置父容器的”text…

    2025年11月20日
    4
  • 事件TransactionScope

    事件TransactionScopeusing(TransactionScopescope=newTransactionScope()){ scope.Complete();}只需要把需要事务包裹的逻辑块写在using(TransactionScopets=newTransactionScope())中就可以了。从这种写法可以看出,TransactionScope实现了IDispose接口。除…

    2022年7月24日
    9
  • uIP TCP/IP协议栈

    uIP TCP/IP协议栈转自 yxwkaifa 微博第 1 章 nbsp uIPTCP IP 协议栈 uIPTCP IP 协议栈的目标是 即便是 8 位微控制器也可以使用 TCP IP 协议栈进行网络通信 虽然小而简单 uIP 不须要与他们通信的节点配有复杂 全尺寸协议栈 仅仅要通过执行轻量级协议栈可以通信便可 代码仅仅有区区几 k 字节 RAM 消耗最低也仅仅有几百个字节 1 1 nbsp uIP nbsp 介绍随着互联网

    2026年3月26日
    3
  • 反射型XSS的利用「建议收藏」

    反射型XSS的利用「建议收藏」反射型XSS:用户输入的恶意代码,被执行。利用:它通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。以前一直觉得反射型XSS危害不大,只能自己在客户端玩玩,实现弹窗。没想到,反射型XSS的利用比存储型还更容易,存储型XSS的利用还需结合CSRF.这篇博客很好的讲述了反射型XS…

    2022年5月4日
    100
  • MongoDB 客户端工具(图)

    MongoDB 客户端工具(图)转自 nbsp http hi baidu com shepherdnewa blog item 962368f05d1f htmlhttp www javabloger com article mongodb gui win linux mac htmlNoSQL 的运动不止 MongoDB 作为其中的主力军发展迅猛 但是图形化工具少见

    2026年3月17日
    2
  • 牛逼!Java 从入门到精通,超全汇总版

    牛逼!Java 从入门到精通,超全汇总版文章目录Java基础HeadFirstJavaJava核心技术卷一Java编程思想设计模式HeadFirst设计模式图解设计模式设计模式重学Java设计模式Java进阶Java并发编程实战Java并发编程艺术Java并发编程之美图解Java多线程设计模式JVM深入理解Java虚拟机Java虚拟机规范HotSpot实战自己动手写Java虚拟机MySQLMySQL基础教程SQL基础教程深入浅出MySQLMySQL必知必会SQL必知必会高性能MySQLMySQL

    2022年6月14日
    30

发表回复

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

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