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 :

Sous-chaîne dans une sous-chaîne : optimisation RegExp [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut Sous-chaîne dans une sous-chaîne : optimisation RegExp
    Bonjour,
    J'utilise le code suivant, très simple, me permettant de récupérer les chiffres dans une chaîne de caractères.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $regexp = '~id_mob=([0-9])+~';
    $bookmark = 'http://monsite.com/application/page.php?id_mob=720&blots=13&nuts=734';
     
    preg_match($regexp, $bookmark, $match);
    preg_match('~\d+~', $match[0], $final_match);
    $id_cherchee = $final_match[0];
    ?>
    Cependant, il est évident que cette RegExp est améliorable.
    Je suis une bille en PCRE, quelqu'un pourrait-il m'aider sur ce point SVP?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    Points : 186
    Points
    186
    Par défaut
    Bijour,

    Sans Regex tu as ça, c'est un peu crade mais bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
         $bookmark = 'http://monsite.com/application/page.php?id_mob=720&blots=13&nuts=734';
     
         $chaine = substr($bookmark, strpos($bookmark,'id_mob='));
         $chaine = substr($chaine, 0, strpos($chaine,'&'));
         $chaine = str_replace('id_mob=','',$chaine);
     
         echo $chaine;
    ?>

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Pourquoi ne pas utiliser votre capture ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $regexp = '~id_mob=(\d+)~'; // Quantifieur déplacé dans les parenthèses
    $bookmark = 'http://monsite.com/application/page.php?id_mob=720&blots=13&nuts=734';
     
    if (preg_match($regexp, $boomark, $match)) {
        $id_cherchee = $match[1];
    } else {
        // ?
    }

  4. #4
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    Bonjour,
    Merci à tous les deux de votre réponse.

    Julp, c'est exactement ce que je cherchais à faire, merci de votre aide.

    Bonne journée

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

Discussions similaires

  1. Recherche d'une chaîne dans une sous chaîne
    Par teen6517 dans le forum Langage
    Réponses: 3
    Dernier message: 29/03/2007, 19h10
  2. Réponses: 2
    Dernier message: 06/12/2006, 13h36
  3. je cherche une sous chaine dans une chaine
    Par avprive dans le forum C++
    Réponses: 3
    Dernier message: 17/03/2005, 01h48
  4. Rechercher une sous chaine dans une chaine
    Par annedjomo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/02/2005, 10h36
  5. Rechercher une sous chaine dans une chaine
    Par Oluha dans le forum ASP
    Réponses: 4
    Dernier message: 03/02/2005, 14h39

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