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

时间:2016-10-13 04:10:19

标签: php regex

我有一组数字字符串,并希望在找到它的地方删除+ 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); 

但这不起作用。请帮帮我或者给我一个解决这个问题的想法。 我希望输出像数组:

" 4086632208,4088072425,4086052969,..."

2 个答案:

答案 0 :(得分:1)

您可以将str_replace()用作:

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

var_dump($str);

答案 1 :(得分:0)

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

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

DEMO