<?php

$regexpNumber = '/^((\\s*\+\\s*7)|\\s*8)([^a-zA-Z0-9]*[0-9]){10}\b$/';
$regexpSymbol = ['/(\\s*\+\\s*7\\s*)/', '/(\\D*)/'];

$numbers = ['+74951234567', '8-495-1-234-567', 
  ' 8 (8122) 56-56-56', '8-911-1234567', '84951a234567', '8495123456a', 
  '+1 234 5678901',];
  
$correctNumbers = array();

foreach($numbers as $number) {
	if(preg_match($regexpNumber, $number)) {
		$correctNumbers[] = preg_replace($regexpSymbol, ['8', ''], $number);
	}
}

echo var_dump($correctNumbers);