需要将字符串值中的设置字符转换为(*)符号

时间:2014-07-30 12:25:57

标签: php

我想使用php

在字符串中将字符集显示为*符号

例如:

输入:DKK8797365A367653657

结果:**************** 3657

任何人都可以帮助我吗?

2 个答案:

答案 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