function formatPhone($phone){
    $phone = preg_replace('/[^0-9]/', '', $phone);
	
    if (strlen($phone) > 10) {
        $countryCode = substr($phone, 0, strlen($phone) - 10);
        $areaCode = substr($phone, -10, 3);
        $nextThreeDigits = substr($phone, -7, 3);
        $lastFourDigits = substr($phone, -4, 4);
		
        $phone = '+' . $countryCode . ' (' . $areaCode . ') ' . $nextThreeDigits . '-' . $lastFourDigits;
    } else if (strlen($phone) == 10) {
        $areaCode = substr($phone, 0, 3);
        $nextThreeDigits = substr($phone, 3, 3);
        $lastFourDigits = substr($phone, 6, 4);
		
        $phone = '(' . $areaCode . ') ' . $nextThreeDigits . '-' . $lastFourDigits;
    } else if (strlen($phone) == 7) {
        $nextThreeDigits = substr($phone, 0, 3);
        $lastFourDigits = substr($phone, 3, 4);
		
        $phone = $nextThreeDigits . '-' . $lastFourDigits;
    }
    return $phone;
}

Örnek:

echo formatPhone("+905551112233"); // Result: + 90 (555) 111-2233
echo formatPhone("05551112233"); // Result: 0 (555) 111-2233
echo formatPhone("5551112233"); // Result: (555) 111-2233
echo formatPhone("1112233"); // Result: 111-2233