<?php
header("Content-Type: text/plain; charset=utf-8");
?> 
<?php
mb_internal_encoding("UTF-8");
/*
На вход скрипта дан введенный пользователем номер телефона в виде 8-911-404-44-11 или +7(812)6786767 (в начале 8 или +7, потом идут 10 цифр и, возможно, какие-то символы). То есть, как и в прошлой задаче, человек вводит номер как хочет. Надо проверить номер на правильность и привести любой номер к единому формату 89114044411 (то есть, заменить +7 на 8 и выкинуть весь мусор вроде пробелов, скобок и минусов, кроме цифр)

Вот список номеров: 

Правильные: array('84951234567', '+74951234567', '8-495-1-234-567', ' 8 (8122) 56-56-56', '8-911-1234567', '8 (911) 12 345 67', '8-911 12 345 67', '8 (911) - 123 - 45 - 67', '+ 7 999 123 4567', '8 ( 999 ) 1234567', '8 999 123 4567');

Неправильные: array('02', '84951234567 позвать люсю', '849512345', '849512345678', 
'8 (409) 123-123-123', '7900123467', '5005005001', '8888-8888-88',
'84951a234567', '8495123456a', 
'+1 234 5678901', // неверный код страны
'+8 234 5678901', // либо 8 либо +7
'7 234 5678901' // нет +
);
*/
$number = array('84951234567', 
				'+74951234567', 
				'8-495-1-234-567', 
				'8 (8122) 56-56-56', 
				'8-911-1234567', 
				'8 (911) 12 345 67', 
				'8-911 12 345 67', 
				'8 (911) - 123 - 45 - 67', 
				'+ 7 999 123 4567', 
				'8 ( 999 ) 1234567', 
				'8 999 123 4567');
$number2 = array('02', 
				'84951234567 позвать люсю', 
				'849512345', '849512345678', 
				'8 (409) 123-123-123',
			    '7900123467', 
			    '5005005001', 
			    '8888-8888-88',
			    '84951a234567', 
			    '8495123456a', 
			    '+1 234 5678901',
			    '+8 234 5678901',
			    '7 234 5678901');


function getNumber($array)
{
	foreach ($array as &$number)
	{
		$number = preg_replace('/[\s()-]/', '', $number);
		if (preg_match('/^(([+]7)|8)[0-9]{10}$/', $number))
			{
				$number = preg_replace('/^[+]7/', '8', $number);
			}
		else 
		{
			$number = "Набранный номер $number не подходит";
		}
	}
    return $array;
}
print_r(getNumber($number));
print_r(getNumber($number2));