我如何过滤 <x> 百分比的文本,例如 pa*****d

How can i filter <x> Percent of text like pa*****d

我正在开发一个应用程序,我需要向用户显示一个用 * !

过滤的字符串

让我再解释一下!

我们有 "Password" 作为用户将看到的 8 个字母长度的字符串! 所以我应该过滤掉这个词的 80%,然后像这样显示结果:"pa*****d"

我怎样才能用 PHP 做到这一点?

像这样简单:

$string = "password";

$mask_string =  substr($string,0, 4) . str_repeat("*", strlen($string)-5) . substr($string, -1);

echo $mask_string;

----编辑-----

如果你想使用百分比,这可能是这样的:

$percent = 0.80; //80%
$string = "password";
$cut = round(strlen($string)*$percent);
$show = strlen($string)-$cut;

$mask_string =  substr($string,0, $show) . str_repeat("*", $cut-1) . substr($string, -1);

echo $mask_string;