- preg_match: documentation ( source)
<?php
$reg = "#^([\w-]+://?|www[\.])?[a-z0-9]+[a-z0-9\-\.]*[a-z0-9]+\.[a-z]{2,7}$#";
$domain_name = "ελληνικά.idn.icann.org";
$domain_name = @idn_to_ascii($domain_name);
echo preg_match($reg, $domain_name) ? "Domain is valid." : "Domain is not valid.";
?>