Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何用星号字符屏蔽字符串的某些部分_Php_Laravel - Fatal编程技术网

Php 如何用星号字符屏蔽字符串的某些部分

Php 如何用星号字符屏蔽字符串的某些部分,php,laravel,Php,Laravel,我想要一个这种格式的电话号码 您的电话号码*********8898已发送并带有验证码 PHP试试这个 $phone_number = '******' . substr( $phone_number, - 4); echo $phone_number; 您可以使用substr: $my_text = '12345678'; echo substr($my_text, 1); // 2345678 如果你想遮住中间部分: private function stringToSecret(

我想要一个这种格式的电话号码

您的电话号码*********8898已发送并带有验证码

PHP

试试这个

$phone_number = '******' . substr( $phone_number, - 4);
echo $phone_number;
您可以使用substr:

 $my_text = '12345678';

echo substr($my_text, 1);  // 2345678

如果你想遮住中间部分:

private function stringToSecret(string $string = NULL)
{
    if (!$string) {
        return NULL;
    }
    $length = strlen($string);
    $visibleCount = (int) round($length / 4);
    $hiddenCount = $length - ($visibleCount * 2);
    return substr($string, 0, $visibleCount) . str_repeat('*', $hiddenCount) . substr($string, ($visibleCount * -1), $visibleCount);
}
结果:

  • 1=>1
  • 12=>12
  • 123=>1*3
  • 1234=>1**4
  • 12345=>1***5
  • 123456=>12**56
  • 1234567=>12***67
  • 12345678=>12****78

str_replace()
substr()
以及许多您已经尝试过的Mooooo?可能重复的
private function stringToSecret(string $string = NULL)
{
    if (!$string) {
        return NULL;
    }
    $length = strlen($string);
    $visibleCount = (int) round($length / 4);
    $hiddenCount = $length - ($visibleCount * 2);
    return substr($string, 0, $visibleCount) . str_repeat('*', $hiddenCount) . substr($string, ($visibleCount * -1), $visibleCount);
}