-4

電話番号の先頭のゼロを「+」と国番号に置き換えたいです。

電話番号がゼロで始まる場合 (例: 07512345678)、先頭のゼロを削除し、「+」と国コードに置き換えたい (例: 7512345678) 「+」と国コードを追加するだけです。

PHPでそれを行う方法は何ですか?

4

5 に答える 5

13

使用するpreg_replace()

$newNumber = preg_replace('/^0?/', '+'.$countryCode, $phoneNumber);

最初のパラメーターは正規表現で、先頭のゼロを探します。2 番目は、置き換えたいもの (プラス記号と国コードを連結したもの) です。最後に$phoneNumber、元の電話番号です。

置換された値が変数に割り当てられます$newNumber。コードに合わせて変数を自由に変更してください。

于 2012-08-22T17:45:29.457 に答える
2

使用できますpreg_replace

$newNumber = preg_replace("/^0/", "+", 07512345678)

これは、ゼロの場合にのみ、各数値の最初の文字を置き換えます。使用される正規表現は次のとおり/^0/です。は^、最初の文字を見て、その後は 0 のみに一致するように指示します。この 0 は、2 番目の引数「+」に置き換えられます。最後の引数はソース文字列です。

参照

  • こちらをご覧くださいpreg_replace
  • ここでREGEX を開始するための基本的な構文
于 2012-08-22T17:45:13.827 に答える
0

システム全体が複雑なため、 preg_match() はあまり効果的ではないと思います。

<?php
$countryCode = "XX";
$phone = array("0123455", "7837373");
foreach( $phone AS $number ) {
   if( $number[0] == '0' ) {
      $number = "+{$countryCode}" . substr($number,1);
   }
   echo "{$number}\n";
}

PS: これは初歩的なことです。いくつかのチュートリアルを実際に完了する必要があります。

于 2012-08-22T17:47:55.690 に答える
0

文字列操作を使用できます。

$x = '012345678';
if ($x[0]=='0') $x[0] = ''; // delete leading zero
$x = '+1'.$x;
于 2012-08-22T17:45:31.903 に答える