preg_match_all et cellule d'un tableau

  • Auteur de la discussion Auteur de la discussion toto2525
  • Date de début Date de début
WRInaute occasionnel
Bonjour,

Je souhaite récupérer les valeurs des cellules d'un tableau html qui sont sur une page mais ces cellules sont sous cette forme :
Code:
<td align="center">
              20
</td><td align="center">
              32
</td><td align="center">
              50
</td>
Les chiffres (20, 32 et 50) se trouve sur une ligne à part et lorsque j'utilise preg_match_all ça ne m'affiche rien :
Code:
$motif = '/<td align="center">(.*?)<\/td>/';
preg_match_all($motif, $chaine, $out);
echo "".$out[0][0]."<br>".$out[0][1]."<br>".$out[0][2]."<br>";
Quelqu'un voit-il une solution pour récupérer ces chiffres ?

Merci d'avance pour votre aide.
 
WRInaute occasionnel
Hello,

preg_match_all('/<td ([^<]*)>([^<]*)<\/td>/', $html, $out);

récupère align="center" et les différentes données ou

preg_match_all('/<td align="[^"]+">([^<]*)<\/td>/', $html, $out);

juste pour les chiffres.

Chez moi ça fonctionne.
 
WRInaute occasionnel
Aaarrrgggh a dit:
Hello,
preg_match_all('/<td align="[^"]+">([^<]*)<\/td>/', $html, $out);
juste pour les chiffres.
Chez moi ça fonctionne.
Ca marche aussi chez moi :D

Vraiment un grand merci pour ton aide Aaarrrgggh
 
WRInaute occasionnel
J'ai encore besoin d'un peu d'aide :?

J'ai des cellules d'un tableau comme ci-dessous :
Code:
<td align="center">
          <span style='color:#008800'>%</span>
</td>
Je souhaite remplacer le "%" par "0%" qui est entre la balise <span></span>, j'ai essayé pas mal de choses mais ça marche pas :(

Quelqu'un peut-il m'aider ?
 
WRInaute occasionnel
J'ai aussi essayé avec str_replace mais j'y arrive pas :?

J'ai essayé cela :
Code:
$remplace = str_replace('<span style=[^>]+>%</span>','<span style=[^>]+>0%</span>',$chaine);

$remplace = str_replace('<span style=[^>]*>%</span>','<span style=[^>]*>0%</span>',$chaine);

$remplace = str_replace('<span style='color:#008800'>%</span>','<span style='color:#008800'>0%</span>',$chaine);

$remplace = str_replace('<span style=\'color:#008800\'>%</span>','<span style=\'color:#008800\'>0%</span>',$chaine);

etc...
tout ça, ça ne marche pas :(
 
WRInaute occasionnel
c'est un peu bidouillé, mais chez moi ceci fonctionne :
Code:
$chaine= preg_replace('|\>%|', '>0%', $chaine);
 
WRInaute occasionnel
Encore une fois un grand merci Aaarrrgggh pour ton aide, ça marche parfaitement :D

J'aimerai bien ne pas mourrir idiot :D est-ce que tu as un truc pour trouver les solutions ou si c'est du feeling ?
 
Discussions similaires
Haut