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 :

souci sur une recherche dans une chaine


Sujet :

Langage PHP

  1. #1
    fey
    fey est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Points : 93
    Points
    93
    Par défaut souci sur une recherche dans une chaine
    bonjour,

    j'ai un petit souci avec le code actuelle


    le code actuel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	$reg2 = '#<TR>\s*
    	            <TD\svalign=top\scolspan="4"\sCLASS="zonefixetableau">Dont Cat&eacute;gorisation</TD>
    \s*
    	            (?:
    	            <TD\svalign=top\salign="center"><B>(\d+)</TD>\s*
    	            ){3}
    	         </TR>
    	         #xsm';//fin regex
    voila ce qui est affiche dans la source l'url que je recupere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	<TR>
     
            <TD valign=top colspan="4" CLASS="zonefixetableau">Dont Cat&eacute;gorisation</TD>
            <TD valign=top align="center"><B>11</TD>
            <TD valign=top align="center"><B>&nbsp;</TD>
            <TD valign=top align="center"><B>11</TD>
        </TR>
    je voudrai pouvoir recuperer cette infos sauf qu'apparement il ne trouve pas de resultat.

    j'ai l'impression que "&eacute;" fait foire.

    comment je peux faire ?


    merci beaucoup
    fey

  2. #2
    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
    Dis nous plutot ce que tu cherches à recupérer ?
    Tu es sûr pour la regexp sur plusieurs lignes ?
    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 !

  3. #3
    fey
    fey est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Points : 93
    Points
    93
    Par défaut
    je cherche a recuperer le 11 du dernier <td>
    sauf que dans le code que je recuperer il y a plusieurs sous cette meme forme

    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
     
     
     
        <TR>
            <TD valign=top colspan="4" CLASS="zonefixetableau">TOTAL</TD>
            <TD valign=top align="center"><B>15</TD>
            <TD valign=top align="center"><B>0</TD>
            <TD valign=top align="center"><B>15</TD>
        </TR>
     
    	<TR>
     
            <TD valign=top colspan="4" CLASS="zonefixetableau">Dont Cat&eacute;gorisation</TD>
            <TD valign=top align="center"><B>11</TD>
            <TD valign=top align="center"><B>&nbsp;</TD>
            <TD valign=top align="center"><B>11</TD>
    le 1er je le recupere deja de la maniere quasi identique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	$reg = '#<TR>\s*
    	            <TD\svalign=top\scolspan="4"\sCLASS="zonefixetableau">TOTAL</TD>\s*
    	            (?:
    	            <TD\svalign=top\salign="center"><B>(\d+)</TD>\s*
    	            ){3}
    	         </TR>
    	         #xsm';//fin regex
    mais s'il y a des solution plus propre/mieux je suis tout ouie ^^

  4. #4
    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
    pas sur d'avoir tout compris, mais avec un preg_match all tu recupères tous les contenu des dernier td d'une ligne comme ceci:

    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
    <?php
     
    $subject ='    <TR>
    				<TD valign=top colspan="4" CLASS="zonefixetableau">TOTAL</TD>
    				<TD valign=top align="center"><B>15</TD>
    				<TD valign=top align="center"><B>0</TD>
    				<TD valign=top align="center"><B>15</TD>
    				</TR>
    		    <TR>
    				<TD valign=top colspan="4" CLASS="zonefixetableau">TOTAL</TD>
    				<TD valign=top align="center"><B>15</TD>
    				<TD valign=top align="center"><B>0</TD>
    				<TD valign=top align="center"><B>11</TD>
    				</TR>';
     
    $pattern = '#<TD valign=top align="center"><B>(?<lastTD>\d*)</TD>
    				</TR>#i';
    preg_match_all($pattern, $subject, $matches);
    var_dump ($matches['lastTD']);
    ?>
    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 !

  5. #5
    fey
    fey est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Points : 93
    Points
    93
    Par défaut
    c'est juste que je suis pas tres clair.

    mais en gros, je veux juste recuperer la valeur 11 de la derniere colone

    pour la valeur 15 je la recupere de la maniere que j'ai mis plus bas

    j'exploite le resultat du $reg2 de cette maniere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	if (preg_match($reg, $str, $match))
    	    $tt = $match[1];
    	    if($tt == ''){
    	    	$tt = 0;
    	}

  6. #6
    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
    avec mon script tu récupères les deux dans un array
    array(2) { [0]=> string(2) "15" [1]=> string(2) "11" }
    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 !

  7. #7
    fey
    fey est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Points : 93
    Points
    93
    Par défaut
    le code que je recherche est un extrait car il y a plus d'infos que cela notamment au niveau des td

    mais par compte la partie que je recherche est unique c'est pour cela que je mettais tous le pave.

    et sinon avec le code que tu m'as donnes j'ai 0 a chaque fois.

    sinon il existe pas une methode qui fairait :

    une recherche sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <TD valign=top colspan="4" CLASS="zonefixetableau">Dont Cat&eacute;gorisation</TD>....
    mais sans preciser le "&eacute;gorisation" donc en gros un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <TD valign=top colspan="4" CLASS="zonefixetableau">Dont ..... </TD>
    ??

  8. #8
    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
    plus ça va et moins je comprends ce que tu cherches à faire
    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 !

  9. #9
    fey
    fey est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Points : 93
    Points
    93
    Par défaut
    je veux juste utiliser tout le bloque que j'ai mis et pas seulement le td comme tu fais pour eviter les erreurs en recuperant la donne du dernier td en l'occurence 11 dans l'exemple

    mais comme je disais l'histoire du &eacute perturbe la recherche et je ne sais pas comment faire pour qu'il trouve le resultat

    ps : en gros je veux etre le plus precis possible et non le plus generique possible, car comme c'est pas moi qui genere le code html...

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/02/2015, 18h19
  2. Réponses: 6
    Dernier message: 21/06/2012, 16h13
  3. Réponses: 8
    Dernier message: 28/11/2011, 11h40
  4. Comment faire une recherche dans une combobox et une sélection automatique
    Par VictoriusDan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2009, 16h17
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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