- print_r: documentation ( source)
- preg_match_all: documentation ( source)
<?php
$re = '/^(?:\+?1\h?)?(\()?\d{3}(?(1)\))([-. ]?)\d{3}\2\d{4}$/m';
$str = '589-845-2889
(589)-845-2889
589.845.2889
589 845 2889
5898452889
(589) 845 2889
1(589) 845 2889
+1(589) 845 2889
1589 845 2889
1 589 845 2889
15898452889
+1207 244 7002
+1 207 244 7002
(589) 845-2889
+1(589) 845-2889
1(589) 845-2889';
preg_match_all($re, $str, $matches);
print_r($matches[0]);