* @license GPLv2 http://files.syscp.org/misc/COPYING.txt * @package Functions * @version $Id: function.validateDomain.php 2724 2009-06-07 14:18:02Z flo $ */ /** * Check if the submitted string is a valid domainname, i.e. * it consists only of the following characters ([a-z0-9][a-z0-9\-]+\.)+[a-z]{2,4} * * @param string The domainname which should be checked. * @return boolean True if the domain is valid, false otherwise * @author Florian Lippert * @author Michael Duergner * */ function validateDomain($domainname) { // we add http:// because this makes a domain valid for the filter; $domainname_tmp = 'http://' . $domainname; // If FILTER_VALIDATE_URL is good, but FILTER_VALIDATE_URL with FILTER_FLAG_PATH_REQUIRED or FILTER_FLAG_QUERY_REQUIRED is also good, it isn't just a domain. // This is a ugly hack, maybe a good regex would be better? if(filter_var($domainname_tmp, FILTER_VALIDATE_URL) !== false && filter_var($domainname_tmp, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED) === false && filter_var($domainname_tmp, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) { return $domainname; } else { return false; } }