Как задать исключение в regex?
Можно ещё проще:if (strpos($text, 'xn--') === false) {
    // Нет такого
}
Есть такой анекдот в тему:Некоторым программистам, когда они сталкиваются с какой-то проблемой, приходит в голову такая мысль
— О, я знаю! Это можно сделать с помощью регулярных выражений!
Это означает, что у этого програмиста теперь ДВЕ проблемы.
Не переусложняйте)
$xn = preg_match ( "/xn--/u", $text);
if($xn > 0){
// домен нам не подходит
}
else{
//домен подходит
}