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 :

Rechercher une sous-chaine comprise entre deux balise dans une chaine


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 121
    Points : 73
    Points
    73
    Par défaut Rechercher une sous-chaine comprise entre deux balise dans une chaine
    Bonjour à tous,


    j'ai une variable comprenant le code HTML d'une page et j'aimerais par exemple extraire ce qui se trouve entre 2 balises pour le placer dans une autre variable.

    Le problème est qu'il existe plusieurs </TD> dans la page donc la première valeur mise dans la chaîne est correcte mais pleins d'autres éléments viennent s'ajouter dans la variable.

    Voici mon code pour l'instant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    eregi("<TD class=\"TABLEAU-SEANCE-15\" align=\"center\">(.*)</TD>", $contenu_fichier, $resultat);
     
    echo htmlspecialchars($resultat[1]);
    La variable contient alors:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    341,45 </TD> <TD> 341,33 </TD> </TR> <TR class="TABLEAU-DATA-12">

    Ce qui m'interesse, c'est le 341,45 mais malheureusement, je ne connais pas à l'avance la taille de la chaine à récupérer donc je ne peux pas utiliser la fonction substr.

    Quelqu'un peut-il m'éclairer à ce sujet ?

    Merci

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    note 1, tu avais un probleme avec la balise title au début !

    eregi => c'est le mal, ne pas utiliser. argument: provoque le cancer de la peau du bout des doigts.

    à la place on utilise les preg_match() . Ya un bon tutoriel sur les regex ici.


    en utilisant le motif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pattern='#<td>([^<]*)</td>#i';
    tu devrais avoir un début de commencement.
    sinon, parfois la vie est belle. Ta page est valide html et tu utilises DOMDocument et tu naviges dans ta page comme firebug dans du DOM.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/12/2008, 14h20
  2. Réponses: 4
    Dernier message: 26/08/2008, 17h11
  3. [RegEx] remplacer une chaine comprise entre 2 balises
    Par Khleo dans le forum Langage
    Réponses: 3
    Dernier message: 29/05/2008, 17h02
  4. [RegEx] Vérifier si une chaîne se trouve entre deux balises ?
    Par symbolyk dans le forum Langage
    Réponses: 2
    Dernier message: 03/02/2007, 18h37
  5. recherche entre deux dates dans une requête
    Par emmanuel4945 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/11/2006, 21h42

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