<?php
mb_internal_encoding("utf-8");
$regexp = "/^([+78])([0-9]{10})$/ui";
$numbers = [
    '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'
];

$matches = [];
foreach ($numbers as $number) {
    $correctText = str_replace(" ", "", $number);
    $correctText = str_replace("-", "", $correctText);
    $correctText = str_replace("(", "", $correctText);
    $correctText = str_replace(")", "", $correctText);
    if (preg_match($regexp, $correctText, $matches)) {
        echo "Правильный номер: {$matches[0]}<br/>";
    } else {
        echo "Ошибка! Введите номер формата: +7/8xxxxxxxxxx<br/>";
    }
}
    ?>