Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1048 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer valeur entre deux balises

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer valeur entre deux balises

n°2193083
recep
Posté le 06-06-2013 à 11:12:37  profilanswer
 

Bonjour,
 
Je dois récupérer, pour un gain de temps, la valeur d'un compteur dans une page html.
 
En fait, nous avons plusieurs copieurs dans note société et j'aimerai récupérer le compteur de copie d'une imprimantes en PHP.
 
J'ai trouvé ceci sur le net :  

Code :
  1. <?php
  2. function get_file_title($file){
  3. $cont = file_get_contents($file);
  4. preg_match( "/<title>(.*)<\/title>/i", $cont, $match );
  5. return strip_tags($match[0]);
  6. }
  7. echo get_file_title("http://xxxx.html" );
  8. ?>


 
ce code marche très bien pour récupérer le titre, mais lorsque je veux récupérer la valeur d'une ma balise ça ne marche pas.
voici la balise en question :

Code :
  1. <tr>
  2. <td width=60%>Total Impressions</td>
  3. <td width=5%>207</td>
  4. <td width=35%>Impressions</td>
  5. </tr>


je dois récupérer la valeur 207 de la balise <td width=5%>
 
comment puis-je adapter le code pour que cela fonctionne ? Merci !

mood
Publicité
Posté le 06-06-2013 à 11:12:37  profilanswer
 

n°2193092
recep
Posté le 06-06-2013 à 11:27:25  profilanswer
 

recep a écrit :

Bonjour,
 
Je dois récupérer, pour un gain de temps, la valeur d'un compteur dans une page html.
 
En fait, nous avons plusieurs copieurs dans note société et j'aimerai récupérer le compteur de copie d'une imprimantes en PHP.
 
J'ai trouvé ceci sur le net :  

Code :
  1. <?php
  2. function get_file_title($file){
  3. $cont = file_get_contents($file);
  4. preg_match( "/<title>(.*)<\/title>/i", $cont, $match );
  5. return strip_tags($match[0]);
  6. }
  7. echo get_file_title("http://xxxx.html" );
  8. ?>


 
ce code marche très bien pour récupérer le titre, mais lorsque je veux récupérer la valeur d'une ma balise ça ne marche pas.
voici la balise en question :

Code :
  1. <tr>
  2. <td width=60%>Total Impressions</td>
  3. <td width=5%>207</td>
  4. <td width=35%>Impressions</td>
  5. </tr>


je dois récupérer la valeur 207 de la balise <td width=5%>
 
comment puis-je adapter le code pour que cela fonctionne ? Merci !


Voici le code que j'ai utilisé :

Code :
  1. function get_file_title($file){
  2. $cont = file_get_contents($file);
  3. preg_match("/<td width=5%>(.*)</td>/i", $cont, $match );
  4. return strip_tags($match[0]);
  5. }
  6. echo get_file_title("http://xxxx.html" );


voici l'erreur que j'ai :

Code :
  1. Warning: preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Unknown modifier 't' in compteur.php on line 4
  2. Call Stack
  3. # Time Memory Function Location
  4. 1 0.0003 670840 {main}( ) ..\compteur.php:0
  5. 2 0.0003 670952 get_file_title( ) ..\compteur.php:7
  6. 3 0.0605 678520 preg_match ( ) ..\compteur.php:4


n°2193097
gilou
Modérateur
Modzilla
Posté le 06-06-2013 à 11:56:37  profilanswer
 

Le message d'erreur est pourtant très explicite.

Citation :

preg_match("/<td width=5%>(.*)</td>/i", $cont, $match );


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2193099
recep
Posté le 06-06-2013 à 12:18:57  profilanswer
 

gilou a écrit :

Le message d'erreur est pourtant très explicite.

Citation :

preg_match("/<td width=5%>(.*)</td>/i", $cont, $match );


A+,


je ne comprend pas là?
 
je dois faire quoi? enlever les barres obliques ?

n°2193150
gilou
Modérateur
Modzilla
Posté le 06-06-2013 à 14:43:08  profilanswer
 

recep a écrit :

je ne comprend pas là?

Ça saute pourtant aux yeux, une erreur aussi basique.

recep a écrit :

je dois faire quoi?

Ben apprendre un minimum le PHP en lisant les docs de base, peut être... Parce que manifestement, ce qu'est une expression régulière, vous avez pas trop l'air de connaitre, sinon vous auriez tout de suite su qu'un / a l'intérieur d'une expression régulière qui démarre avec un /, faut un signe spécial avant [lequel? ça figure dans toute doc de base], sinon il est pris comme la marque de fin de l'expression régulière (ce qui se produit dans votre cas)
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2193188
recep
Posté le 06-06-2013 à 16:16:09  profilanswer
 

gilou a écrit :

Ça saute pourtant aux yeux, une erreur aussi basique.


 

gilou a écrit :

Ben apprendre un minimum le PHP en lisant les docs de base, peut être... Parce que manifestement, ce qu'est une expression régulière, vous avez pas trop l'air de connaitre, sinon vous auriez tout de suite su qu'un / a l'intérieur d'une expression régulière qui démarre avec un /, faut un signe spécial avant [lequel? ça figure dans toute doc de base], sinon il est pris comme la marque de fin de l'expression régulière (ce qui se produit dans votre cas)
A+,


Merci, j'avais oublié le \ avant le / en recopiant dans ma balise </td>, maintenant ça fonctionne...  
 
ps: je suis un simple débutant en php, la prochaine fois je ferais plus de recherches avant de demander sur un Forum... :sweat:

n°2193203
gilou
Modérateur
Modzilla
Posté le 06-06-2013 à 17:52:01  profilanswer
 

Le principe de ce forum, c'est d'aider, ce que j'ai fait en vous indiquant précisément l'erreur, mais pas de donner la solution toute faite. Vous obliger a une certaine autonomie dans la recherche de solutions, c'est aussi une aide, mais d'un autre genre, à plus long terme: vous faire prendre les bonnes habitudes.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer valeur entre deux balises

 

Sujets relatifs
recuperer la valeur castée d'une cle de registreRécupérer les lignes sous forme de liste
Curseur qui empêche d'avoir la valeur maximum scrollbarRécupérer des données dans plusieurs fichiers
recuperer id en ajax/phpRecupérer les infos des éléments d'une liste déroulante multichoix
Recupérer les infos des éléments d'une liste déroulante multichoixXML/XSLT : Transformer Balises et Attributs
Script sous R: ajouter une valeur en début de liste 
Plus de sujets relatifs à : Récupérer valeur entre deux balises


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR