IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

extraire un nom de domaine avec expressions régulières


Sujet :

Langage PHP

  1. #1
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Points : 410
    Points
    410
    Par défaut extraire un nom de domaine avec expressions régulières
    Bonjour,

    je hais les expressions régulières en PHP, je n'y comprends rien, il y a
    78 millions de syntaxes différentes sur le net.

    Pour délimiter un pattern, un coup c'est le / un coup c'est le @, un coup c'est la '...

    Bref, je voudrais faire un truc simple pourtant.

    J'ai un nom domaine lambda de type : http://www.nom-de-domaine.com

    Je veux simplement récupérer ce qui est en rouge. Sans utiliser de explode ou autre.

    Je veux passer par les expressions régulières parce que c'est ce qu'il me faut.

    Et je veux récupérer tout type de domaine. Qu'il soit de la forme http:// ou http://www

    Mais aussi si j'ai un nom de domaine de type : http://www.sous-domaine.nom-de-domaine.com

    Je veux que ça me récupère que le nom sous domaine (par exemple les gens qui ont un blog de type www.mon-blog.over-blog.com , j'aimerais éviter d'afficher genre skyrock, overblog, etc... pour ne garder que "mon-blog".

    Ca fait 1h que je teste tout preg-replace, preg-match, parse_url, explode, split, etc...

    J'ai presque le résultat voulu avec explode par exemple, mais c'est pas adapté. Je veux avoir à éviter de rajouter toutes les extensions du monde, et gérer les sous domaines etc...

    Bref il me faut les expressions régulières.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    Voilà une solution qui marche dans tous les cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $text = 'http://www.sous-domaine.nom-de-domaine.com';
     
    if (preg_match('/http:\/\/(?:www\.)?([^\.]+)\./',$text,$matchs))
    	print_r($matchs);
    Ce qui va donner:
    Array
    (
    [0] => http://www.sous-domaine.
    [1] => sous-domaine
    )

  3. #3
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Points : 410
    Points
    410
    Par défaut
    merci, j'avais eu un résultat pas loin tout à l'heure mais ça me donnait des résultats bizarres.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/08/2007, 14h24
  2. [RegEx] Contrôle avec expression régulière
    Par lodan dans le forum Langage
    Réponses: 8
    Dernier message: 23/10/2006, 19h32
  3. [RegEx] Problème avec expressions régulières.
    Par Cygnus Saint dans le forum Langage
    Réponses: 12
    Dernier message: 14/08/2006, 11h55
  4. Extraire le nom de domaine d'une URL
    Par -JRM- dans le forum ASP
    Réponses: 2
    Dernier message: 24/01/2006, 11h04
  5. [C#] Caractères hexadécimal avec expressions régulières
    Par shinchan dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/01/2006, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo