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

  FORUM HardWare.fr
  Programmation
  PHP

  Je n'arrive pas a faire ma regex dans ce tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Je n'arrive pas a faire ma regex dans ce tableau

n°995496
wydook
Posté le 28-02-2005 à 10:25:40  profilanswer
 

Bonjour a tous.
 
Quelqu'un pourrait il m'expliquer comment faire pour cette regex dans un tableau.
 
J'ai essayer pleins de methodes mais il se trouve que la regex commence toujours la ou je veut , mais je n'arrive pas a l'arreter , il me met tout jusqu'a la fin du tableau.
 
Je voudrais uniquement l'image situé sur la ligne ou il y a ecrit Bastia et colonne temps.  
 
L'image change assez souvent , mais je voudrais qu'il m'ecrive juste  
 
previ14.png et pas <img src="img/png/picto45x40/previ14.png">
 
attention il sepeut que se ne soit plus previ14.png quand vous regarderais ce post, enfin en regardant le code source vous comprendrez mieux ce que je veut.
 
Merci  
 
 http://www.avalanche-net.com/meteo/detailmetar.php


Message édité par wydook le 28-02-2005 à 11:16:22
mood
Publicité
Posté le 28-02-2005 à 10:25:40  profilanswer
 

n°995597
KangOl
Profil : pointeur
Posté le 28-02-2005 à 11:50:31  profilanswer
 

si au moins tu donnais la regex...


---------------
Nos estans firs di nosse pitite patreye...
n°995633
wydook
Posté le 28-02-2005 à 12:41:47  profilanswer
 

bon rigolez pas , mais ca marche pour le reste mes regex , mais la ca ca veut pas.
 
je suis donc obliger de commencer la regex au nom de la ville , car si je veut prendre l'image du temps d'une autre ville il me faudra son nom aussi, et je suis egalement obliger de mettre des point sur le date et l'heure car ca change tout le temps.
 
Voilà le monstre:
 

Code :
  1. <?
  2. $source = file_get_contents('http://www.avalanche-net.com/meteo/detailmetar.php/');
  3. preg_match('/Bastia . Poretta.br........... .......td..td width="70" bgcolor="#FFFFFF" class="paragcentrer"..img src="img.png.picto45x40.(.+)">/',$source,$res1);
  4. echo $res1[1];
  5. ?>


 
 
et voilà ce que ca donne
 
 
 
et moi je veut donc que ca s'arrete pour cet exemple à la premiere ligne et n'avoir que le nom de l'image , c'est a dire a cette heure ci c'est ecrit :  
previ07.png
 
je ferais de meme avec les autres villes


Message édité par wydook le 01-03-2005 à 12:31:51
n°996146
Tempus_Fug​it
tempinou
Posté le 28-02-2005 à 18:00:51  profilanswer
 

En principe ca devrai être bon ca :

Code :
  1. if(preg_match("!Bastia.+</td>.+picto45x40/(.*)\"></td>!Us",$string,$out)){ echo $out[1]; }
  2. //$string étant la page du truc méteo


Tu n'as qu'a changer le nom de la ville pour pouvoir avoir son image.
Exemple pour Agen

Code :
  1. if(preg_match("!Agen.+</td>.+picto45x40/(.*)\"></td>!Us",$string,$out)){ echo $out[1]; }


C'est fait un peu n'importe comment hein, tu peux améliorer. Puis vérifi bien ce qui est statique de ce qui ne l'est pas.


Message édité par Tempus_Fugit le 28-02-2005 à 19:09:33
n°996203
Tempus_Fug​it
tempinou
Posté le 28-02-2005 à 19:04:51  profilanswer
 

Autre solution, plus adaptée a ce que tu souhaites

Code :
  1. if(preg_match_all("!parag(white|color)_previ\">(.+)<br>.+</td>.+picto45x40/(.*)\"></td>!iUs",$string,$out))
  2. {
  3. $size=sizeof($out[2]); //On prend la taille du tableau
  4. for($i=0;$i<$size;$i++) //On le parcours pour afficher chaque occurence
  5. {
  6.  echo "<strong>".$out[2][$i]."</strong> image: <strong>".$out[3][$i]."</strong><br />"; //affichage
  7. }
  8. }


Ainsi avec cette méthode, au lieu de repeter ton preg plusieurs fois. Tu le fais une fois et ensuite tu utilises comme tu veux :

Code :
  1. echo $out[2][0]; echo $out[3][0]; // pour afficher le nom de la premiere ville et son image
  2. echo $out[2][1]; echo $out[3][1]; //pour afficher le nom de la second ville et son image

n°996339
wydook
Posté le 28-02-2005 à 20:57:02  profilanswer
 

j'ai fait ca et ca marche pas , et avec l'autre solution non plus ca veut pas.  
 

Code :
  1. <?
  2. if(preg_match("!Bastia.+</td>.+picto45x40/(.*)\"></td>!Us",http://www.avalanche-net.com/meteo/detailmetar.php,$out)){ echo $out[1]; }
  3. ?>


 

n°996567
Tempus_Fug​it
tempinou
Posté le 28-02-2005 à 23:05:48  profilanswer
 

wydook a écrit :

j'ai fait ca et ca marche pas , et avec l'autre solution non plus ca veut pas.  
 

Code :
  1. <?
  2. if(preg_match("!Bastia.+</td>.+picto45x40/(.*)\"></td>!Us",http://www.avalanche-net.com/meteo/detailmetar.php,$out)){ echo $out[1]; }
  3. ?>


Ben faudrai aussi suivre ce que j'ai écris...
J'ai jamais dis de mettre l'url, c'est pas comme ca que ca fonctionne.
 
copie colle exactement ca dans un fichier .php :

Code :
  1. <?php
  2. $string=file_get_contents('http://www.avalanche-net.com/meteo/detailmetar.php/');
  3. if(preg_match_all("!parag(white|color)_previ\">(.+)<br>.+</td>.+picto45x40/(.*)\"></td>!iUs",$string,$out))
  4. {
  5. $size=sizeof($out[2]); //On prend la taille du tableau
  6. for($i=0;$i<$size;$i++) //On le parcours pour afficher chaque occurence
  7. {
  8.  echo "<strong>".$out[2][$i]."</strong> image: <strong>".$out[3][$i]."</strong><br />"; //affichage
  9. }
  10. }
  11. ?>


n°996570
Tempus_Fug​it
tempinou
Posté le 28-02-2005 à 23:08:12  profilanswer
 
n°996745
wydook
Posté le 01-03-2005 à 08:30:37  profilanswer
 

OULLALA , quel guignol que je suis pfffffffffff
 
En plus je le savait.
 
Je vous remercie . Merci et bonne journée


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

  Je n'arrive pas a faire ma regex dans ce tableau

 

Sujets relatifs
regex : long a afficher la page[résolu]tableau avec CSS, pb sous IE
[PERL] fonction Split et tableau HTMLtableau en bas de page
tri d'un tableau 1D c++Un regex qui tient compte des caractères d'échappement
jsp +tableau[debutant] tableau java
[VB] Initialisation d'un tableau multidimentions ?Creer un tableau depuis une boucle
Plus de sujets relatifs à : Je n'arrive pas a faire ma regex dans ce tableau


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