$re = '/^\(?([2-9])\)?([0-9]{2})?[-.*]?([2-9])\)?((?!11)[0-9]{2})?[-.*]?([0-9]{4})$/m';
$str = '(2)33-233-2222
4805123848
4805218482
(2)33-212-2222
(2)33-221-2222
4809128327
4809418482
(2)33-211-2222
4807119320
4805119439
4809114739';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php