Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

extraire plusieurs valeurs

3 réponses
Avatar
kurtz le pirate
bonjour,

je ne sais pas par ou prendre ce problème. j'ai du texte dans $texte. je
veux extraire ce qui existe entre <td class="colname">XXXXXXX</td> et
entre <span class="colrgb">YYYYYYY</span>. ces deux valeurs étant liées.


si je fais :
while ($texte=~ m!<td class="colname">(.*?)</td>!g) {
print "$1";
}

je trouve bien tout les "colname", mais je ne sais pas ou mettre le
deuxième m!! "colorrgb".



merci pour votre éclairage :))

--
klp

3 réponses

Avatar
Nicolas George
kurtz le pirate wrote in message
:
je trouve bien tout les "colname", mais je ne sais pas ou mettre le
deuxième m!! "colorrgb".


Je n'ai pas très bien compris la structure des données en entrée, mais je
pense que tu ferais mieux d'utiliser un parser HTML ou XML.

Avatar
kurtz le pirate
In article <46bdc04b$0$422$,
Nicolas George <nicolas$ wrote:

kurtz le pirate wrote in message
:
je trouve bien tout les "colname", mais je ne sais pas ou mettre le
deuxième m!! "colorrgb".


Je n'ai pas très bien compris la structure des données en entrée, mais je
pense que tu ferais mieux d'utiliser un parser HTML ou XML.



*** les données ont cette forme (dans un doc html) :
...
<tr><td><div class="colsmp" style="background-color:#E67E30"><a
title="Afficher l'Èchantillon"
href="javascript:dspSample('#E67E30')"><img
src="img/s.gif"/></a></div></td><td
class="colname">abricot</td><td><span class="inv">(inv)</span> Orange
rosÈ doux.</td><td><span class="colrgb">E67E30</span></td></tr>
...


*** le but :
recupéré le couple nom/valeur -> abricot/E67E30


*** html::parser :
pas compris comment faire reconnaître les class="..."


en fait je ne suis débrouillé autrement. merci quand même :)
--
klp


Avatar
Nicolas George
kurtz le pirate wrote in message
:
*** html::parser :
pas compris comment faire reconnaître les class="..."


Avec une API de type DOM, ça se fait avec une méthode getAttribute. Avec une
API de type SAX (un peu plus lourd à utiliser en pratique, mais seule
utilisable sur des documents énormes), c'est passé en argument au
gestionnaire de tag ouvrant.