Thread HTML::Parser, HTML::Template::HEAD_BODY: Sektionen auslesen (9 answers)
Opened by pktm at 2004-05-24 16:45

coax
 2004-05-25 07:08
#2573 #2573
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use HTML::Parser;
my(%data) = (title => '',  meta => [],
            style => [],  script => []);

my($CURRENT);

my $p = new HTML::Parser (
    start_h => [sub {
                     my($tagname, $attr) = @_;
                     $CURRENT = $tagname;
                     push(@{$data{meta}}, $attr) if ($tagname eq 'meta');
                    }, 'tagname, attr'],
    text_h => [sub {
                 my($text) = @_;
                 
                 if    ($CURRENT eq 'title') {
                     $data{title} = $text;
                 }
                 elsif ($CURRENT eq 'style') {
                         push(@{$data{style}}, $text);
                     }
                 elsif ($CURRENT eq 'script') {
                         push(@{$data{script}}, $text);
                     }
                    }, 'dtext'],
    end_h => [sub { $CURRENT = '' }]);

$p->parse_file(*DATA);


Ist jetzt keine saubere Loesung, wird aber - denke ich mal - meinen Loesungsansatz verdeutlichen.

Grusz Christian.
,,Das perlt aber heute wieder...'' -- Dittsche

View full thread HTML::Parser, HTML::Template::HEAD_BODY: Sektionen auslesen