<?php
$text    = '8-911-400-12-34';

$regexp = '/^8 (   ([(]([0-9]{3})[)])   |  ([-]([0-9]{3})[-])  |  ([0-9]{3})  )   (   ([0-9]{3})   )  ([ ]|[-]|[]) ([0-9]{2}) ([ ]|[-]|[])  ([0-9]{2})';


if (preg_match($regexp, $text)) {
    echo "Все верно.\n";
} else {
    echo "Укажите номер в  формате «8(ххх)-ххх хх хх», «8-ххх-ххх-хх-хх» или «8хххххххххх»!\n";
}