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 :

Fonction preg_match [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Epica84
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 164
    Points : 188
    Points
    188
    Par défaut Fonction preg_match
    Il y a t-il quelqu'un qui pourrai m'aider car j'ai trouver la fonction preg_match() qui est très intéressante mais je ne sait m'en servir
    ARLES, du 02 au 05 Avril 2010, Féria de Pâques.

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Bonjour
    Il faudrait peut etre nous expliquer ce que tu souhaite faire svp

    Merci

    (Les mots en gras manquent dans ta demande )
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    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
    Et avant, un peu de lecture sur un excellent site hautement recommandable :
    http://g-rossolini.developpez.com/tutoriels/php/regex/

    • 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

  4. #4
    Membre habitué Avatar de Epica84
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 164
    Points : 188
    Points
    188
    Par défaut
    RideKick

    Bonjour

    Il faudrait peut etre nous expliquer ce que tu souhaite faire svp

    Merci

    (Les mots en gras manquent dans ta demande )
    Bonjour,

    Je souhaite tester mon site pour savoir s'il est possible de l'aspirer avec un aspirateur personnalisé ... J'utilise la fonction preg_match mais lorsque je fait matches[xx] lorsque je fais matches[xx+1] cela ecrase xx et donc cela me bloque ...

    Une idée?

    Cordialement Christophe
    ARLES, du 02 au 05 Avril 2010, Féria de Pâques.

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    montre nous plutot ta regExp ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre habitué Avatar de Epica84
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 164
    Points : 188
    Points
    188
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $pattern="/<b>Hits&nbsp;: <\/b>([0-9]+)&nbsp;&nbsp;/"; //.* <img src='http:\/\/www.baycriscuisine.com\/modules\/recette\/images\/time.gif' border='0' alt='derni&egrave;re mise &agrave; jour&nbsp;'>(.*)<\/td>/";
     
    $pattern = "/([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4})/";
     
     
    if (!preg_match($pattern,$result,$matches)) die ("Le pattern <b><xmp>$pattern</xmp></b> Ne Matche pas : <b><xmp>$result</xmp></b>");
    echo " Ce qu'on veut extrait Nombre Hits : " .$matches[1];
    echo "<br/>";
    echo " Ce qu'on veut extrait Date : ".$matches[2]; 
    echo "<br/>";
    Voilà mon code mais marche pas

    Dans le $result j'ai une page HTML de mon site en voilà un extrait en brut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <b>Hits&nbsp;: </b>14686&nbsp;&nbsp;
     
    <img src='http://www.baycriscuisine.com/modules/recette/images/time.gif' border='0' alt='derni&egrave;re mise &agrave; jour&nbsp;'>
     
    10/7/2004
     
    </td>
     
    </tr><tr>
    Cordialement Christophe
    ARLES, du 02 au 05 Avril 2010, Féria de Pâques.

  7. #7
    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 plus facile à répondre avec du code !

    Code : 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
    <?php
    $str = "<b>Hits&nbsp;: </b>14686&nbsp;&nbsp;
    
    <img src='http://www.baycriscuisine.com/modules/recette/images/time.gif' border='0' alt='derni&egrave;re mise &agrave; jour&nbsp;'>
    
    10/7/2004
    
    </td>
    
    </tr><tr>
    ";
     
    $reg = '@
    <b>Hits&nbsp;:\s</b>(\d+)        # extraction du nombre de hits
    (?:&nbsp;)*\s*                   # je passe les blancs
    <img [^>]+>                      # je passe sur la balise image
    (?:&nbsp;)*\s*                   # je passe les blancs
    ([0-9]{1,2}/[0-9]{1,2}/[0-9]{4}) # extraction de la date
    @xs';
     
    preg_match($reg, $str,$m);
     
    printf("Nb hits = %d, Date = %s", $m[1], $m[2]);
    • 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

  8. #8
    Membre habitué Avatar de Epica84
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 164
    Points : 188
    Points
    188
    Par défaut Merci (l) ^^


    Merci beaucoup j'ai put adapter mon code avec votre aide merci lol .

    @ Bientôt s.n.a.f.u

    Cordialement Christophe

    Sujet résolu !!!
    ARLES, du 02 au 05 Avril 2010, Féria de Pâques.

  9. #9
    Membre habitué Avatar de Epica84
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 164
    Points : 188
    Points
    188
    Par défaut
    Je me permet de reprendre le sujet car j'ai encore un souci avec la fonction preg_match ...

    J'ai ma page HTML qu'on peu voir un extrait ici

    Code : 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
    <b>Hits&nbsp;: </b>1464446&nbsp;&nbsp;
     
    <img src='http://www.monsite.com/modules.gif' border='0' alt='derni&egrave;re mise &agrave; jour&nbsp;'>
     
    10/7/2004
     
    </td>
     
    </tr><tr>
     
     
     
    <td colspan='2' class='bg1' style='border-bottom:solid 1px;border-top:solid 1px;'>
     
    <img src='http://www.monsite.com/modules.gif' border='0' align='buttom' alt='Généralités sur cet article' />&nbsp;&nbsp; Eths84
     
     
    </td>
     
    </tr><tr>


    Je souhaite extraire les hits, la date et l'auteur (ici, Eths84)


    Voilà mon code
    Connection ok je met dans le $result=monsite.com

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $pattern = "/<b>Hits&nbsp;: <\/b>([0-9]*)&nbsp;&nbsp;\r\n\r\n"; //  ====>$matches[1]  
    $pattern .= "([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4})\r\n\r\n/";
     
    if (!preg_match($pattern,$result,$matches)) die ("Le pattern <b><xmp>$pattern</xmp></b> Ne Matche pas : <b><xmp>$result</xmp></b>");
    echo "Hits : ".$matches[1];//" Ce qu'on veut extrait Nombre Hits : " .
    echo "<br/>";
    echo "Date : ".$matches[2]; //Date.
    echo "<br/>";
    Ceci ne marche pas alors pour le moment j'essaye même pas d'extraire l'auteur ...


    SI quelqu'un ou plusieurs personne on des idées je suis preneur

    Cordialement Christophe
    ARLES, du 02 au 05 Avril 2010, Féria de Pâques.

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

Discussions similaires

  1. [RegEx] Inverse de fonction preg_match ?
    Par Dhumkazaar dans le forum Langage
    Réponses: 3
    Dernier message: 08/11/2007, 16h35
  2. syntaxe pour la fonction preg_match
    Par johnben2 dans le forum Langage
    Réponses: 2
    Dernier message: 17/07/2007, 14h22
  3. [RegEx] Fonction preg_match problème
    Par wylls dans le forum Langage
    Réponses: 2
    Dernier message: 13/12/2006, 17h06
  4. Réponses: 2
    Dernier message: 27/07/2006, 10h17
  5. [RegEx] fonctions Preg_match()
    Par winnie82 dans le forum Langage
    Réponses: 4
    Dernier message: 23/03/2006, 11h47

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