从电话号码字符串中删除"+"或"0"

axe*_*xel 3 php regex ereg-replace

我需要在php中使用正则表达式从一串电话号码中删除数字开头的+或0

我有这个功能删除每个非数字字符

ereg_replace("[^0-9]", "", $sPhoneNumber)
Run Code Online (Sandbox Code Playgroud)

但我需要更好的东西,所有这些例子都应该......

$sPhoneNumber = "+3999999999999"
$sPhoneNumber = "003999999999999"
$sPhoneNumber = "3999999999999"
$sPhoneNumber = "39 99999999999"
$sPhoneNumber = "+ 39 999 99999999"
$sPhoneNumber = "0039 99999999999"
Run Code Online (Sandbox Code Playgroud)

... 像这样

$sPhoneNumber = "3999999999999"
Run Code Online (Sandbox Code Playgroud)

任何建议,非常感谢!

Jas*_*ary 5

作为正则表达式的替代方法,您可以使用ltrim():

echo ltrim('003999999999999', '+0');
Run Code Online (Sandbox Code Playgroud)

在您的情况下+,第二个参数是字符列表字符串0.

注意:这不会删除字符串中的空格,只删除+0从头开始.