0

私は php mysql アプリケーションを持っており、電話番号を特定の形式で保存したいと考えています。いくつかのグーグルの後、私はこの機能に到達しました:

function RemoveExt($phone) {
    if(substr($phone,0,1) == '+' || substr($phone, 0,2) == 00){
        $phone = preg_replace('/[^\d]/', '', $phone);
        }

    $phone=trim($phone);
    $prefixs=array('0097150','0097156','0097152','0097155', '97150','97156','97155','97152','050','056','055','052','00');

    $replace=array('050','056','052','055','050','056','055','052','050','056','055','052','00');
      $count = count($prefixs); 
for($i = 0; $i < $count; $i++)
    {
        if(strncmp($phone, $prefixs[$i], strlen($prefixs[$i])) == 0){

            $phone = preg_replace('/^'.$prefixs[$i].'/i','',$phone);
             $ext=$replace[$i];
            return array('phone' => $phone, 'ext' => $ext);
        }else{
        return array('phone' => $phone, 'ext' => $ext); 
        } 
    }
}

たとえば、電話番号 +971501234567 => 「+」は国際コード、「971」は国コード、「50」はモバイル ネットワーク コード、「1234567」は携帯電話番号になります。

複数のモバイル コードがあることに注意してください。番号から 2 つの部分 (モバイル ネットワーク コード、携帯電話番号) を保存する必要があるという質問です。たとえば、+971501234567 は (050) モバイル ネットワーク コードと (1234567) 携帯電話番号として保存されます。

誰かがそれを達成するのを手伝ってくれますか?.

4

2 に答える 2

1

常に +971501234567 の形式をとる場合は、最後の 9 つの数字を切り捨てます。これらのうち、最後の 7 を携帯電話番号として取得し、最初の 2 つの先頭に 0 をモバイル ネットワークとして追加します。

于 2012-06-21T20:11:47.527 に答える
0

私は労働者階級を共有するつもりです:-

    function RemoveExt($phone) {

    if(substr($phone,0,1) == '+'){
        $phone = preg_replace('/[^\d]/', '00', $phone);
        }

    $prefix=array('0097150','0097156','0097155','0097152','97150','97156','97155','97152','050','056','055','052','00');

    $replace=array('050','056','055','052','050','056','055','052','050','056','055','052','00');
      $count =count($prefix);
      $counter=0;
      while( $counter < $count){
            if(strncmp($phone, $prefix[$counter] , strlen($prefix[$counter])) == 0){

                $phone=substr($phone, strlen($prefix[$counter]));
                $ext=$replace[$counter];

            }
            $counter++;
        }
        return array('phone' => $phone, 'ext' => $ext);
}

誰かを助けてください。

于 2012-06-22T04:19:52.950 に答える