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 :

caractère pour remplacer tous les caractères dans une regex [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 549
    Par défaut caractère pour remplacer tous les caractères dans une regex
    Bonjour

    Bon j ai pas pu faire mieux pour le titre dsl.

    avec <div class="yui-u first nomReunion">(.*?)</div>
    j'extrais : lundi : ici et là (Z9)
    moi je souhaiterais extraire
    ici et là
    9

    donc j aimerais savoir que mettre entre > et ( pour ne pas avoir lundi comme resultat et si eventuellement il est possible d extraire ici et la / 9 en une seule fois car moi je parse le resultat obtenu ...

    merci de votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 52
    Par défaut
    Salut,

    j'ai modifié ton masque. En espérant que ça réponde à ta question.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    	$sChaine = "<div class=\"yui-u first nomReunion\">lundi : ici et là (Z9)</div>";
    	$sRegExp = "/<div class=\"yui-u first nomReunion\">(?:.*?:)(.*?)(?:\(Z)(.*?)(?:\))<\/div>/";
    	$aChaine = array();
    	preg_match_all($sRegExp, $sChaine, $aChaine, PREG_SET_ORDER);
    	echo "<PRE>";
    	print_r($aChaine);
    	echo "</PRE>";
    ?>
    Stf

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 549
    Par défaut
    ok je te remercie, ça marche...partiellement car en fait ça estrait bien le mot apres les : mais ensuite ça ferme à la derniere balise </DIV>...

    Mais plus generalement n existerait il pas un site qui presenterait les caracteres et leurs correspondance dans les regex par exemple
    *? -> extrait tout
    [j]?[l] ->extrait tout entre j et l

    bon c est complemet au hasard c est pour etayer ma question

    merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 52
    Par défaut
    Salut,

    syntaxe preg pour la syntaxe.
    Sinon, je ne comprend pas ton histoire de div fermant, peux-tu être plus précis ?

    stf

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 549
    Par défaut
    en fait ça prend tout jusqu au dernier </div> du doc que je parse...

    merci pour le lien

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 52
    Par défaut
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    	$sChaine = "<div class=\"yui-u first nomReunion\">lundi : ici et là (Z9)</div><div class=\"yui-u first nomReunion\">qqlundi : ici 11et là (Z5)</div><div class=\"yui-u first nomReunion\">xxqqlundi : ici 11et xxlà (Z10)</div>";
    	$sRegExp = "/<div class=\"yui-u first nomReunion\">(?:.*?:)(.*?)(?:\(Z)(.*?)(?:\))<\/div>/";
    	$aChaine = array();
    	preg_match_all($sRegExp, $sChaine, $aChaine, PREG_SET_ORDER);
    	echo "<PRE>";
    	print_r($aChaine);
    	echo "</PRE>";
    ?>
    J'obtiens :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Array
    (
        [0] => Array
            (
                [0] => 
    lundi : ici et là (Z9)
    
                [1] =>  ici et là 
                [2] => 9
            )
    
        [1] => Array
            (
                [0] => 
    qqlundi : ici 11et là (Z5)
    
                [1] =>  ici 11et là 
                [2] => 5
            )
    
        [2] => Array
            (
                [0] => 
    xxqqlundi : ici 11et xxlà (Z10)
    
                [1] =>  ici 11et xxlà 
                [2] => 10
            )
    
    )

    Ce n'est pas ce que tu cherches à faire ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 549
    Par défaut
    oui dsl je sais pas ce que j ai foutu sur ce coup là
    merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/11/2011, 22h31
  2. [RegEx] remplacer tous les caractères accentués d'une chaine
    Par Alexdezark dans le forum Langage
    Réponses: 6
    Dernier message: 13/11/2009, 12h47
  3. Réponses: 5
    Dernier message: 04/12/2007, 11h00
  4. Réponses: 6
    Dernier message: 05/10/2007, 09h36
  5. Réponses: 7
    Dernier message: 03/10/2007, 17h58

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