如何获取没有国家代码或空白的电话号码?
我试过的那个也删除了电话号码中间的359
取值为359或+359或00359或+00359
02是城市代码,我需要删除为什么我这样做的0 (int)
<?php
$string = '+00359 02 359 10969';
$string = str_replace(" ", '', $string);
$string = (int)preg_replace("/(?:359)/", '', $string);
echo $string;
输出210969
应该
235910969
这个话题比你想象的要复杂得多。我建议使用谷歌电话库https://github.com/giggsey/libphonenumber-for-php
通常国家代码会改变,但基本上最后10个数字是本地号码,但在您的示例中,您不想要前0个数字,所以总共9个数字,所以您可以像下面这样简单地使用。
$string = '+00359 02 359 10969';
$string = str_replace(' ', '', $string);
$string = substr($string, -9);
echo $string; // Output: 235910969
否则,您必须定义所有国家/地区代码,检查并从字符串的开头删除所有代码。
如果格式总是+
+country code
+space
+rest of phone number
,则可以使用explosion ()
$string = '+00359 02 359 10969';
$string = explode(" ",$string,2)[1]; // -> 02 359 10969
02是城市代码,我需要删除为什么我这样做的0 (int)
ltrim吗?
$string = '+00359 02 359 10969';
$string = explode(" ",$string,2)[1]; // -> 02 359 10969
$string = ltrim($string,'0'); // -> 2 359 10969
试试下面的命令:
'^+(?:00359s0)' or '^+?(00359|359|00359)s0'