1

電話番号のフォーマットにhttps://github.com/davideme/libphonenumber-for-PHPを使用しています

1800 の番号に問題があります

$formatnumber = "1800123456"
$country = "AU";    

$phoneUtil = PhoneNumberUtil::getInstance();

try {
    $NumberProto = $phoneUtil->parse( $formatnumber , $country );
} catch ( NumberParseException $e ) {
    echo $e;
}

$formattedNumber =  $phoneUtil->format( $NumberProto, PhoneNumberFormat::NATIONAL );

私が戻ってくることを期待しているの$formattedNumber"1800 123456"

返されるのはフォーマットされていない数字です"1800123456"

正しくフォーマットするために何かする必要がある場合は?

4

1 に答える 1

4

それはあなたのコードのほとんどで私にとってはうまくいきます:

<?php
require __DIR__ . '/vendor/autoload.php';


$formatnumber = "1800123456";
$country = "AU";

$phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();

try {
    $NumberProto = $phoneUtil->parse($formatnumber, $country);
} catch (NumberParseException $e) {
    echo $e;
}

$formattedNumber = $phoneUtil->format($NumberProto, \libphonenumber\PhoneNumberFormat::NATIONAL);

echo $formattedNumber;

応答:

1800 123 456

ただし、私のバージョンの libphonenumber-for-php を使用しています: https://github.com/giggsey/libphonenumber-for-php

于 2013-07-01T08:46:05.820 に答える