我想使用php
在字符串中将字符集显示为*符号例如:
输入:DKK8797365A367653657
结果:**************** 3657
任何人都可以帮助我吗?
答案 0 :(得分:3)
如果字符串的长度是常量,则需要提取字符串的4个字符尾部。请使用substr()
。
$input = 'DKK8797365A367653657';
$tail = substr($input, -4);
// Echo the tail preceded by a constant amount of *
echo '***************' . $tail;
如果*
应替换的字符数量不不变,则可以使用str_repeat()
函数:
$input = 'DKK8797365A367653657';
// The head of the string, until the last 4 chars
$head = substr($input, 0, -4);
// The last 4 chars
$tail = substr($input, -4);
// Echo as much * as characters are in head
echo str_repeat('*', strlen($head)) . $tail;
答案 1 :(得分:0)
@ hek2mgl的代码工作正常!但是,如果你愿意,你也可以试试这段代码:
<?php
$input= "DKK8797365A367653657";
$show = 4;
echo str_repeat("*", (strlen($input)-$show)).substr($input,-4);
?>
您只需要根据要显示的字符数更改$ show的值。 此代码在php.net的注释中,但已修改为仅显示最后4个字符。
原始代码可以在注释中找到,此处为:http://php.net/str-repeat