Heim > Backend-Entwicklung > PHP-Tutorial > 怎么替换一个字符串中间的字符

怎么替换一个字符串中间的字符

WBOY
Freigeben: 2016-06-23 14:12:04
Original
1511 Leute haben es durchsucht

怎么替换一个字符串中间的字符?
比如: fdsfdsfdsjkww
替换成:f**********w
比如: 扣分金锡民
替换成:扣***民
比如: 扣分金锡民s
替换成:扣****s
比如: tt扣分金锡民s
替换成:t*****s


回复讨论(解决方案)

<?php$str ='tt扣分金锡民s';function hide_repalce($str, $code='utf-8') {	mb_internal_encoding($code);	$len = mb_strlen($str);	return mb_substr($str, 0, 1) . str_repeat('*', $len - 2) . mb_substr($str, $len - 1, 1);}echo hide_repalce($str);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Replace ( string1, start, string2,n,m )

<?php$str ='tt扣分金锡民s';function hide_repalce($str, $code='utf-8') {	mb_internal_encoding($code);	$len = mb_strlen($str);	return mb_substr($str, 0, 1) . str_repeat('*', $len - 2) . mb_substr($str, $len - 1, 1);}echo hide_repalce($str);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren


有乱码,看到吗?

乱码要看你的编码是什么 设置正确的编码

$string='fdsfdsfdsjkww';
echo substr($string,0,1).'*****'.substr($string,$sLeng-1,1);


<?php$str ='tt扣分金锡民s';function hide_repalce($str, $code='utf-8') {	mb_internal_encoding($code);	$len = mb_strlen($str);	return mb_substr($str, 0, 1) . str_repeat('*', $len - 2) . mb_substr($str, $len - 1, 1);}echo hide_repalce($str);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren


有乱码,看到吗?

如果是使用utf8-编码,源文件的编码、输出显示的编码都要用utf-8

简单点的

$string='fdsfdsfdsjkww';echo substr_replace($string, str_repeat('*',strlen($string)-2), 1, strlen($string)-2);
Nach dem Login kopieren
Nach dem Login kopieren

注意长度问题,在不同编码下,中文和英文的字节会不一样的,多以长度要计算对了,不然会出现乱码

$string='fdsfdsfdsjkww';echo substr_replace($string, str_repeat('*',strlen($string)-2), 1, strlen($string)-2);
Nach dem Login kopieren
Nach dem Login kopieren

这个相对比较简单

substr_replace ? 替换字符串的子串

string
输入字符串。

replacement
替换字符串。

start
如果 start 为正数,替换将从 string 的 start 位置开始。

如果 start 为负数,替换将从 string 的倒数第 start 个位置开始。

length
如果设定了这个参数并且为正数,表示 string 中被替换的子字符串的长度。如果设定为负数,它表示待替换的子字符串结尾处距离 string 末端的字符个数。如果没有提供此参数,那么它默认为 strlen( string ) (字符串的长度)。当然,如果 length 为 0,那么这个函数的功能为将 replacement 插入到 string 的 start 位置处

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage