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 :

Problème de regex avec ?


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Problème de regex avec ?
    Bonjour à tous,
    je sollicite votre aide car j'ai un petit problème de regex et je galère depuis un moment !

    J'ai une regex qui fonctionne mais que je souhaiterai faire évoluer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $url_page     = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
    $masque  = '`\/([a-z0-9._-]{0,})\/?$`';
    preg_match($masque, $url_page, $return);
    $article_id = $return[1];
    Mon url est de la forme : http://www.monsite.com/dossiers/nom_dossier/nom_article/32

    Je veux récupérer le 32 et ça fonctionne parfaitement.

    Maintenant il m'arrive d'avoir des URL de la forme :
    http://www.monsite.com/dossiers/nom_dossier/nom_article/32?trukmachin

    ou

    http://www.monsite.com/dossiers/nom_dossier/nom_article/32%trukmachin

    Et la ma regex ne fonctionne plus pour récupérer le 32

    Donc mon souhait est d'avoir une regex qui fonctionne pour les 2 cas et qui me renvoie toujours le 32

    Merci de votre aide, j'espère avoir été clair ^^

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    C'est parce que tu as "borné" ton pattern.

    Tu peux essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $masque  = '#\/([a-z0-9._-]+)(\?.*)?$#';
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

Discussions similaires

  1. Problème de regex avec des parenthèses imbriquées
    Par sopsag dans le forum Général Python
    Réponses: 4
    Dernier message: 15/07/2010, 13h02
  2. problème de compilation avec Boost::Regex
    Par zbahoui dans le forum C++
    Réponses: 7
    Dernier message: 29/04/2010, 15h38
  3. Problème regex avec httplib.HTTPConnection
    Par csseur22 dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 17/06/2009, 17h38
  4. Problème sur split avec regex
    Par fr1man dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 07/05/2009, 14h46
  5. Problème de Regex ... avec un point
    Par bugalood dans le forum Langage
    Réponses: 2
    Dernier message: 29/05/2005, 11h26

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