从php中的国际号码中删除+1代码的正则表达式


Regular expression for removing +1 code from international numbers in php

我有一组字符串的数字,并希望删除+ 1的地方找到。

我有这个集合

$arr="605-2969,
408-605-2969,
+ 1-408-605-2969,
+ 1 (408) 605-2969,
(408) 605-2969,
(408)-605-2969,
14086052969,
4086052969,
6052969";

,并想从中删除+ 1。

我尝试了以下代码:

$str = ltrim($arr, '+ 1');
var_dump($str); 

但这不起作用。请帮助我或给我一个想法来解决这个问题。我希望输出像array:

"4086632208,4088072425,4086052969,…"

您可以使用str_replace()作为:

$str = str_replace('+ 1','',$arr);
var_dump($str);

使用preg_replace()删除与模式匹配的所有内容。该模式将匹配+ 1和除数字和逗号以外的任何字符。

$str = preg_replace('/'+ 1|[^'d,]/', '', $arr);
演示