Yann Forget wrote:
> 
> Bonjour,
> 
> Je cherche � r�cup�rer le domaine � partir d'une URL
> (en PHP).
> 
> ex: http://machine.domaine.com  -> domain.com
> 
> J'utilise :
> 
>  $server   = $HTTP_SERVER_VARS["HTTP_HOST"];
>  $domain = eregi_replace("^[a-z]+\.(.*)$","\\1",$server);
> 
> �a fonctionne dans le cas ci-dessus, mais pas si l'URL
> utilis�e est http://domaine.com.
> 
> Unde id�e ?

Je vois 2 choses � corriger :

1) Un nom de domaine peut contenir des chiffres et des tirets
   (voir <http://www.6-0.ch/>) comme indiqu� dans le
   chapitre 2.3.1 du STD13
   <http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1035.html>.

  Je suis d'ailleurs �tonn� que le domaine "6-0.ch" ne suive
  pas ce standard qui stipule qu'un nom de domaine doit
  commencer par une lettre. Ai-je mal interpr�t� le standard,
  est-il partiellement obsol�te ou "6-0.ch" viole-t-il le
  standard ?

   Bref, cela nous donne l'expression "[a-z0-9-]+" si la
   comparaison ignore la casse et que l'on accepte
   des noms de domaine 'interdits' (en l'occurrence c'est
   peut-�tre une bonne id�e).

2) Ensuite il suffit de correspondre � la fin de la cha�ne.
   "([a-z0-9-]+\.[a-z0-9-]+)$" devrait bien convenir.

On peut remarquer que cela ne correspond � rien d'int�ressant
avec des adresses num�riques (111.222.33.44).

Marc
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à