Récuperer nom de domaine sans les sous domaine

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récuperer nom de domaine sans les sous domaine

Re: Récuperer nom de domaine sans les sous domaine

par Elie » 30 sept. 2012, 12:26

3 ans plus tard, il résolu le problème qui sauva l'humanité !

Re: Récuperer nom de domaine sans les sous domaine

par Stargame » 30 sept. 2012, 12:07

Petite correction pour les domaines n'ayant pas de prefixe de sous domaine comme http://google.fr
function GetDomain($url){
     $r = explode('.', $url);
     if(isset($r[2])){
   	     return $r[1].'.'.$r[2];
     }else{
	     return $r[0].'.'.$r[1];
     }
}

par Elie » 08 mai 2009, 12:36

Le probleme est si l"url est http://google.fr

:)

par fabien_14 » 08 mai 2009, 09:37

Yes merci :)

Par contre j'ai tester le code de Nours

Code : Tout sélectionner

function getDomain($url) { $t = preg_replace("/^[\w]{2,6}:\/\/([\w\d\.\-]+).*$/","$1",$url); $r = explode('.', $t); return $r[count($r)-2].'.'.$r[count($r)-1]; }
Celui ci fonctionne trés bien :)

par Sodams » 08 mai 2009, 09:30

return
à la place de
retrun
:-)

par fabien_14 » 08 mai 2009, 09:27

Bonjour,

Code : Tout sélectionner

$url = 'http://sousdomaine.test.org/toto/index.html'; function getDomain($url) { $r = explode('.', $url); retrun $r[1].'.'.$r[2]; <<<<<< ligne défaut 941 } echo getDomain($url);

par Sodams » 08 mai 2009, 09:23

Peux-tu nous montrer cette fameuse ligne 941?

par fabien_14 » 08 mai 2009, 09:20

Merci de ta réponse,

cependant j'ai un message d'erreur :

Code : Tout sélectionner

Parse error: syntax error, unexpected T_VARIABLE in /homepages/21/xxxxxx/htdocs/test/zone/test.php on line 941

par Elie » 08 mai 2009, 00:17

Plus simple mais plus bete :)
function getDomain($url)
{
   $r = explode('.', $url);
   retrun $r[1].'.'.$r[2];
}
Ca marche peut importe l'url ...

par Nours312 » 07 mai 2009, 22:46

salut : pas trés productif ... mais bon ;)
function getDomain($url)
{
   $t = preg_replace("/^[\w]{2,6}:\/\/([\w\d\.\-]+).*$/","$1",$url);
   $r = explode('.', $t);
   retrun $r[count($r)-2].'.'.$r[count($r)-1];
} 

par fabien_14 » 07 mai 2009, 21:44

Bonsoir,

Merci de ta réponse

cependant ceci ne fonctionne pas l'url ne change pas.

par thehawk » 07 mai 2009, 21:39

Ne connaissant pas particulièrement je serais tenter de te dire :

return preg_replace("/^[\w]{2,6}:\/\/[.?]{1}([\w\d\.\-]+).*$/","$1",$url);

mais je suis vraiment pas sur !

Récuperer nom de domaine sans les sous domaine

par fabien_14 » 07 mai 2009, 19:19

Bonjour,

J'utilise actuellement une petite fonction pour me réduire les url

Code : Tout sélectionner

function getDomain($url) { return preg_replace("/^[\w]{2,6}:\/\/([\w\d\.\-]+).*$/","$1",$url); }
Cependant en cas de sous domaine dans l'url ceci me donne le résultat : sousdomaine.test.com

Comment avoir ce résultat : test.com ?

Merci de votre aide :)