我有一个简单的脚本来格式化数字(在拨打代码后删除0
)
$dialingCode = '971';
$mobileNo = '9710521666038';
// Remove 0 after dialingCode
echo preg_replace('/^(' . $dialingCode .')(.*?)/', $dialingCode . "$2", $mobileNo);
但它正在返回9710521666038
。
预期输出为971521666038
答案 0 :(得分:2)
您可以使用preg_match并使用0*
来匹配零个或多个零
然后内爆两次捕获以获取电话号码。
$mobileNo = '9710521666038';
Preg_match("/^(971)0*(\d+)/", $mobileNo, $match);
Echo implode("", array_slice($match,1));
答案 1 :(得分:1)
您可以在捕获组之外使用0?
:
$dialingCode = '971';
$mobileNo = '9710521666038';
// Remove 0 after dialingCode
echo preg_replace('/^(971)0?(.*?)/', '971' . "$2", $mobileNo);
输出:
971521666038
答案 2 :(得分:1)