我有 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”是手机号码。
注意到我们有不止一个移动代码。我需要从号码中保存两部分(移动网络代码,手机号码)的问题例如:+971501234567将保存为(050)移动网络代码和(1234567)手机号码。
谁能帮我实现这一目标?