0 レビュー
5 回答
PHPで先行ゼロを「+」に置き換えます
電話番号の先行ゼロを「+」と国コードに置き換えたい。
電話番号がゼロで始まる場合(例:07512345678)、先行ゼロを削除して「+」と国コードに置き換えます。それ以外の場合(例:7512345678)は「+」と国コードを追加するだけです。>
PHPでそれを行う方法は何ですか?
わからない
0
レビュー
答え :
解決策:
を使用します $newNumber = preg_replace('/^0?/', '+'.$countryCode, $phoneNumber);
最初のパラメーターは正規表現で、先行ゼロを探します。 2つ目は、置き換えたいものです(国コードと連結されたプラス記号)。最後に、 $phoneNumber
は元の電話番号です。
置換された値は変数$newNumber
に割り当てられます。コードに合わせて変数を自由に変更してください。
わからない
0
レビュー
答え :
解決策:
substr_replace()
を使用します。正規表現やifブロック。
$number = '07512345678';
$country_code = '44';
$new_number = substr_replace($number, '+'.$country_code, 0, ($number[0] == '0'));
わからない
0
レビュー
答え :
解決策:
preg_replace
を使用できます:
$ newNumber = preg_replace( "/^0/"、 "+"、07512345678)
これは、ゼロの場合に限り、各数値の最初の文字を置き換えます。使用される正規表現は、 /^0/
です。 ^
は、最初の文字を調べ、その後は0にのみ一致するように指示します。この0は、2番目の引数「+」に置き換えられます。最後の引数はソース文字列です。
リファレンス
わからない
0
レビュー
答え :
解決策:
文字列操作を使用できます:
$x = '012345678';
if ($x[0]=='0') $x[0] = ''; // delete leading zero
$x = '+1'.$x;
わからない
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:これは初歩的なものです。あなたは本当にいくつかのチュートリアルを通過する必要があります。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。