電話番号を持っています。数値の最初の数字が1でない場合は、それを追加する必要があります。preg_matchでそれを行う方法がわかりません、または他の方法はありますか?
$first_number = $number;
if(preg_match('something', $first_number, $result))
{
$first_number = '1'. $result[1];
}
電話番号を持っています。数値の最初の数字が1でない場合は、それを追加する必要があります。preg_matchでそれを行う方法がわかりません、または他の方法はありますか?
$first_number = $number;
if(preg_match('something', $first_number, $result))
{
$first_number = '1'. $result[1];
}
ここで正規表現を使用する必要はありません。できるよ:
if($first_number[0] != '1') {
$first_number = '1'.$first_number;
}
ただし、番号に先頭のスペースや+
記号を含めることができる場合は、次のことができます。
if(preg_match('/^(\D*)(\d)/',$first_number,$match))
$first_number = $match[1].'1'.$match[2];
}
私があなたの質問を正しく読んでいるなら、最初の非数字文字は常に配列の位置1にあるとは限りません。
$n="foo 415";
preg_match("/^[^0-9]*([0-9])/", $n, $matches);
print $matches[0]."\n";'
を返します4
。
使用する必要はありません、preg_match
またはpreg_replace
ここで、以下の簡単な解決策が機能するはずです
if ($number[0] != 1)
{
$number.= '1'. $number;
}
使用する
'/^([^1][0-9]+)$/'
それはトリックをする必要があります!