我将获得国家代码 $countryCode
和电话号码 $phone_no
。电话号码开头会有国家代码,所以我必须从 $phone_no
中删除国家代码,并获得不附加任何代码的普通电话号码。
例如,如果国家/地区是印度尼西亚,我将得到:
$country_code = '62';
$phone_no = '+62509758151';
// need to get 509758151
目前我正在尝试使用正则表达式和修剪函数
$result = ltrim( preg_replace("/[^0-9]+/", "",$phone_no) , $country_code);
// $result is 509758151
在这种情况下有效,但当电话号码以 ex 的国家代码中提到的数字开头时失败。 $phone_no = '+62609758151';
$result = ltrim( preg_replace("/[^0-9]+/", "",$phone_no) , $country_code);
// $result is 09758151 which is incorrect
更不用说对于 +62629758151 这样的小案例它也会失败
请提出一些建议。我知道基于字符串的解决方案,如 substr()
等,但我正在寻找一些基于正则表达式的解决方案
最佳答案
关于php - 从php中的电话号码中修剪国家代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47988501/