function getSubDomain($host = '') {
if (empty($host)) {
$host = $_SERVER['HTTP_HOST'];
}
return preg_replace('`([\w\.]+)(?:\.[\w]+){2}`i', '$1', $host);
}
Remarque :
Cette fonction retourne le sous-domaine courant.
http://www.domain.tld => www
http://www.user.domain.tld => www.user
http://www.user.name.domain.tld => www.user.name
http://domain.tld => 0
Cette regex gère les noms de domaines accentués, mais pas vraiment les noms de domaines comme .co.uk ou .asso.fr.
A priori, dans "mon.association.asso.fr", "mon.association" est un sous-domaine du domaine "asso" avec le tld ".fr".
Enfin, cette fonction n'est pas compatible avec PHP < 4.0.4