3v4l.org

run code in 300+ PHP versions simultaneously
<?php $sub = array( '+7 812-703-10-00', '8-812-346-60-01', '+7(495)785-98-42', '(499) 725 77 88', '8 (495) 663-61-00', '(812) 448-54-18', '8916-318-36-36', '540-69-05' ); foreach($sub as $s){ preg_match('/^(\+?\d+)?\s*(\(\d+\))?[\s-]*([\d-]*)$/', $s, $res); var_dump($res); }
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.10, 7.2.0 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
array(4) { [0]=> string(16) "+7 812-703-10-00" [1]=> string(2) "+7" [2]=> string(0) "" [3]=> string(13) "812-703-10-00" } array(4) { [0]=> string(15) "8-812-346-60-01" [1]=> string(1) "8" [2]=> string(0) "" [3]=> string(13) "812-346-60-01" } array(4) { [0]=> string(16) "+7(495)785-98-42" [1]=> string(2) "+7" [2]=> string(5) "(495)" [3]=> string(9) "785-98-42" } array(0) { } array(4) { [0]=> string(17) "8 (495) 663-61-00" [1]=> string(1) "8" [2]=> string(5) "(495)" [3]=> string(9) "663-61-00" } array(4) { [0]=> string(15) "(812) 448-54-18" [1]=> string(0) "" [2]=> string(5) "(812)" [3]=> string(9) "448-54-18" } array(4) { [0]=> string(14) "8916-318-36-36" [1]=> string(4) "8916" [2]=> string(0) "" [3]=> string(9) "318-36-36" } array(4) { [0]=> string(9) "540-69-05" [1]=> string(3) "540" [2]=> string(0) "" [3]=> string(5) "69-05" }

preferences:
219.57 ms | 407 KiB | 309 Q