我想用“+”和国家代码替换电话号码中的前导零。
如果电话号码以零开头(例如:07512345678),那么我想删除前导零并替换为“+”和其他国家/地区代码(例如:7512345678)只需添加“+”和国家/地区代码。
在 PHP 中这样做的方法是什么?
我想用“+”和国家代码替换电话号码中的前导零。
如果电话号码以零开头(例如:07512345678),那么我想删除前导零并替换为“+”和其他国家/地区代码(例如:7512345678)只需添加“+”和国家/地区代码。
在 PHP 中这样做的方法是什么?
$newNumber = preg_replace('/^0?/', '+'.$countryCode, $phoneNumber);
第一个参数是正则表达式,它正在寻找你的前导零。第二个是您要替换它的内容(加号与国家代码连接。)。最后,$phoneNumber
是原来的电话号码。
替换的值被分配给变量$newNumber
。随意更改变量以适合您的代码。
使用substr_replace()
,不需要正则表达式或if
块。
$number = '07512345678';
$country_code = '44';
$new_number = substr_replace($number, '+'.$country_code, 0, ($number[0] == '0'));
由于整个系统的复杂性,我怀疑 preg_match() 不太有效。
<?php
$countryCode = "XX";
$phone = array("0123455", "7837373");
foreach( $phone AS $number ) {
if( $number[0] == '0' ) {
$number = "+{$countryCode}" . substr($number,1);
}
echo "{$number}\n";
}
PS:这是初级的。你真的应该通过一些教程。
您可以使用字符串操作:
$x = '012345678';
if ($x[0]=='0') $x[0] = ''; // delete leading zero
$x = '+1'.$x;