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课程设计_java课设「建议收藏」

    Java课程设计_java课设「建议收藏」1.代码截图:2.设计思路建立GUI界面,系统产生一个随机数(对用户不可见),然后用户输入猜测数,系统根据用户每次输入的数据给出评语(偏大,偏小,猜测成功)。当用户最终猜测成功后,就把当次的随机数和猜测次数放到文件夹内。3.遇到的问题:(1).Guess里面每次产生的随机数m和最终猜测次数n一直不知道怎么传到sava里并保存输出到文件。(2).怎么在生成的guessgame文件里追加内容,而不是每…

    2022年7月12日
    18
  • Windows内核编程(二)-第一个内核程序

    Windows内核编程(二)-第一个内核程序第一个内核程序通过VisualStudio新建工程注意事项:大部分widnows驱动程序都是内核驱动(KernelDriver),所以本笔记不分”驱动程序”与”内核编程”,也不区分”内核模块”(KernelModule)、“驱动程序”(Driver)与”内核程序”,这些词汇统一指编译出的扩展名为”.sys”的可执行文件(并非强制扩展名为.sys),也不区分”应用层”与”用户态”。驱动分类:NT驱动最简单的驱动模型,不支持硬件特性WDM驱动在NT驱动的基础上引入的一套驱动模型,支持即

    2022年10月8日
    3
  • FusionChartsFree设置指南

    FusionChartsFree设置指南最近几天在解决各种FusionChartsFree设置的问题,故总结出这份文档(附件),但是不全,以后用到其他组件再持续更新!

    2022年7月13日
    17
  • Eclipse仿Visual AssistX 编辑着色插件

    Eclipse仿Visual AssistX 编辑着色插件

    2022年2月22日
    50
  • scrollIntoView()的用法[通俗易懂]

    scrollIntoView()的用法[通俗易懂]STARTscrollIntoView是一个与页面(容器)滚动相关的API(官方解释),该API只有boolean类型的参数能得到良好的支持(firefox36+都支持),所以在这里只讨论参数Boolean类型的情况。EXPLAIN调用方法为element.scrollIntoView()参数默认为true。参数为true时调用该函数,页面(或容器)发生滚动,使elem…

    2022年6月18日
    41
  • 实用免费的SNMP网管工具-sugarnmsTool

    实用免费的SNMP网管工具-sugarnmsTool实用免费的SNMP网管工具SugarNMSTool是“北京智和信通技术有限公司”开发的图形化SNMP工具,可以免费使用。工具只有3M大小左右,便于携带,免安装,无数据库,可在Windows、Linux、Unix系统上快速运行。工具由大型SugarNMS智能网管软件的精华功能精简而成。SugarNMSTool是网管员、SNMP设备开发调试、SNMP诊断的日常必备工具。产品网站:www.zh

    2022年10月6日
    2

发表回复

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

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