私は 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) 携帯電話番号として保存されます。
誰かがそれを達成するのを手伝ってくれますか?.