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 :

découper un regex grâce à la virgule


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 57
    Points
    57
    Par défaut découper un regex grâce à la virgule
    Bonjour,

    Voilà 2 jours que je me lance dans ce langage mystérieux qu'est le REGEX

    je me pose un nouveau problème quelle serait le regex pour pouvoir découper cette chaine correctement.

    [date=intervalle]12/12/2007,10/12/2007[/date]

    en faite mon boute et d'arriver à capturer les 2 dates et de les introduire en tant que matches[1] et [2]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
             $this->tableau_resultat =  preg_replace_callback('#\[date=intervalle\](.*),(.*)\[/date\]#Usi', create_function(
                '$matches',
                'return CL_date::interval($matches[1],$matches[2]);'
            ) ,$this->tableau_resultat);
    J'ai essayé cette expression régulière mais sans succès

    Merci d'avance Laurent

  2. #2
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    salut,
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $date = '[date=intervalle]12/12/2007,10/12/2007[/date]';
    $pattern = '†\[date\=intervalle\](\d{2}/\d{2}/\d{4}),(\d{2}/\d{2}/\d{4})\[/date\]†i';
    function interval($matches)
    {
      return $matches[1].' '.$matches[2];
    } 
    echo preg_replace_callback($pattern, 'interval', $date); // 12/12/2007 10/12/2007
    voilà un petit exemple avec une fonction call back, je concatène seulement mais tu peux appliquer ta fonction bien sûr.

Discussions similaires

  1. REGEX et Point virgule dans un texte ;;-)
    Par calimero642-fr dans le forum Langage
    Réponses: 6
    Dernier message: 22/09/2010, 18h16
  2. [RegEx] Regex autorisant les chiffres et les virgules (ou point)
    Par inmotion dans le forum Langage
    Réponses: 6
    Dernier message: 01/02/2009, 17h57
  3. [RegEx] Positions des sous-chaînes grâce aux regex
    Par oneTime dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2008, 13h57
  4. Réponses: 8
    Dernier message: 26/03/2007, 16h14
  5. Découper un champ texte quand on rencontre une virgule
    Par jeanfrancois dans le forum Langage
    Réponses: 7
    Dernier message: 28/04/2006, 12h10

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