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 :

exctraction dans un fichier html [RegEx]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut exctraction dans un fichier html
    Bonjours à tous !!
    je récupère un fichier, html dont chaque ligne est stockée dans un tableau
    dont voici l'extrait qui me pose problème :

    <tr><td width=40% class=fieldname>Founder</td><td class=fieldvalue><a href=show_user.php?userid=111334>L ien vers un user</a> <a href=view_profile.php?userid=111334><img border=0 src=img/head_20.png></a></td></tr>

    je doit extraire ce qui est en gras. j'ai donc fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .*<a href="show_user\.php\?userid=(.*)">.*</a>.*
    puis ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^.*<a href="show_user\.php\?userid=(.*)">.*</a>.*$
    mais aucune des deux ne marche je suis carrément bloquer, je vois pas d'où ça peut venir

    merci d'avance pour votre aide

    j'ai oublier : j'utilise la fonction eregi

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Points : 23
    Points
    23
    Par défaut Réponse
    Bonsoir,

    Plus simple normalement ca doit marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     
    if(eregi('<a href="show_user\.php\?userid=(.*)">',$FichierHTML,$Occurence)) {
    foreach($Occurence[1] as $Reponse) {
    echo $Reponse;
    }
    }
    ?>
    Là j'ai fait un Echo mais bon ... comme tu le sens après, ca devrait afficher tout les ID dans le HTML exctracter.
    Cordialement,

  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
    Il est recommandé d'utiliser les fonctions PCRE (preg_*), qui vous permettent notamment d'utiliser l'option U de non gourmandise (ce n'est pas la seule méthode) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (preg_match('#<a href="show_user\.php\?userid=(.+)">#U', $string, $m)) {
        echo $m[1];
    }
    Ou encore modifier votre motif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (preg_match('#<a href="show_user\.php\?userid=([^"]+)">#', $string, $m)) {
    # Ou encore
    if (preg_match('#<a href="show_user\.php\?userid=([0-9]+)">#', $string, $m)) {
    Et si vous souhaitez capturer toutes les occurrences et non une seule, il faut en revanche utiliser la fonction preg_match_all :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (preg_match_all('#<a href="show_user\.php\?userid=(.+)">#U', $string, $m, PREG_SET_ORDER)) {
        foreach ($m as $v) {
             echo $v[1] . '<br/>';
        }
    }

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    merci pour votre aide, j'ai réussi avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $regex = '#show_user\.php\?userid=([0-9]*)#';
    encore merci !!!!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/11/2006, 19h57
  2. Récupérer des valeurs dans des fichiers html
    Par nico93100 dans le forum Langage
    Réponses: 1
    Dernier message: 05/01/2006, 21h46
  3. [XML] Insérer du XML dans un fichier HTML
    Par tafkap dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 14/11/2005, 00h14
  4. "Incorporation" d'un CSS dans un fichier html
    Par kalan dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 31/08/2005, 17h56

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