substr($core, 0, 3), 'hidden' => substr($core, 3, $hidden_length), 'suffix' => substr($core, $length - $suffix_length), 'hidden_length' => $hidden_length, 'leading_plus' => $leading_plus, ]; } /** * Masked display form of a phone number, e.g. 138****1234 or +861******1234. * Falls back to the raw number when it cannot be masked. */ function aksrt_phone_mask_display(string $phone): string { $parts = aksrt_phone_mask_parts($phone); if ($parts === null) { return $phone; } $mask = str_repeat('*', (int) $parts['hidden_length']); $display = $parts['prefix'] . $mask . $parts['suffix']; return $parts['leading_plus'] ? '+' . $display : $display; }