=?ISO-8859-1?Q?Consid=E9rer__comme_une_ligne_??=

Le
ctobini
Bonjour,

J'ai un fichier HTML dont je voudrais extraire des infos.

Ex:
<BR> texte
<TD> texte
</TD>
<TD> texte
<TD>
</BR>

<BR> texte
<TD> texte
</TD>
<TD> texte
<TD>
</BR>

Je voudrais faire considérer à Perl que <TR></TR> est une ligne pour
ensuite avec un regex extraire les différents textes.

Sauriez-vous comment faire ceci ?

En vous remerciant,

C. Tobini
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Vincent Lefevre
Le #154320
Dans l'article ctobini
Je voudrais faire considérer à Perl que <TR></TR> est une ligne pour
ensuite avec un regex extraire les différents textes.


man perlre

Utiliser par exemple le modifieur s:

s Treat string as single line. That is, change "." to match any
character whatsoever, even a newline, which normally it would not
match.

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

mirod
Le #154317
ctobini wrote:
Bonjour,

J'ai un fichier HTML dont je voudrais extraire des infos.

Ex:
<BR> texte
<TD> texte
</TD>
<TD> texte
<TD>
</BR>
...
<BR> texte
<TD> texte
</TD>
<TD> texte
<TD>
</BR>

Je voudrais faire considérer à Perl que <TR></TR> est une ligne pour
ensuite avec un regex extraire les différents textes.


Euh... ya pas de TR dans ton fichier (s/BR/TR/ ?)

Sinon un petit HTML::TreeBuilder ou HTML::Parser ou un truc du genre
sera certainement plus robuste que d'utiliser des regexps, le HTML ça
peut être très, _très_ compliqué à parser.

et bieng sûr, si tu as XML::Twig et HTML::TreeBuilder installés, un petit

xml_grep --html -t td test_html.html

te donnera ce que tu cherches (avec quelques sauts de lignes superflus
que tu filtreras habilement grâce à:

xml_grep --html -t td test_html.html | grep -v '^$'

--
mirod

ctobini
Le #155844
Bonjour à tous et merci de vos réponses,

J'ai utilisé le module HTML::TagReader qui a fonctionné parfaitement.

Bonne soirée,

C. Tobini

On 27 nov, 12:40, mirod
ctobini wrote:
Bonjour,

J'ai un fichier HTML dont je voudrais extraire des infos.

Ex:
<BR> texte
<TD> texte
</TD>
<TD> texte
<TD>
</BR>
...
<BR> texte
<TD> texte
</TD>
<TD> texte
<TD>
</BR>

Je voudrais faire considérer à Perl que <TR></TR> est une ligne pour
ensuite avec un regex extraire les différents textes.


Euh... ya pas de TR dans ton fichier (s/BR/TR/ ?)

Sinon un petit HTML::TreeBuilder ou HTML::Parser ou un truc du genre
sera certainement plus robuste que d'utiliser des regexps, le HTML ça
peut être très, _très_ compliqué à parser.

et bieng sûr, si tu as XML::Twig et HTML::TreeBuilder installés, un pe tit

xml_grep --html -t td test_html.html

te donnera ce que tu cherches (avec quelques sauts de lignes superflus
que tu filtreras habilement grâce à:

xml_grep --html -t td test_html.html | grep -v '^$'

--
mirod



Publicité
Poster une réponse
Anonyme