$domainpattern = '^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$';preg_match() определяю, соответствует ли строка данному выражению.preg_match ($domainpattern,$cname)yandex.ru или yandex.ru ? (много пробелов перед самой строкой в первом случае, и много пробелов после строки во втором).
^((\s*)?[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}(\s*)?$