Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7511[/thread]

Passendes End Tag gesucht (Seite 2)



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
J-jayz-Z
 2005-11-30 12:11
#60584 #60584
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hmm, mir werden die Inhalte der Verschachtelung nicht angezeit, jemand ne Idee?
mein Code:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#! /usr/bin/perl
use strict;
use warnings;

my $string = qq~<div id="bla"><div name="foo"> links </div>text1</div>~;

my $content = new Parse($string);
my $foo = $content->content("bla");

print $foo . "\n";

package Parse;

use vars '$self';
use base 'HTML::Parser';

sub new {
my $class = shift;
$self = { };
$self->{html} = shift;
bless $self, $class;
return $self;
}

sub content {
my $self = shift;
my $name = $self->{name} = shift;
my $p = HTML::Parser->new();
$p->handler(start => \&start_handler,"attr,self");
$p->parse($string);
return $self->{content};
}

sub start_handler{
my $tmp = shift;
my $class = $tmp->{id} || $tmp->{name};
my $html = shift;
my ($return, $text);
if($class eq $self->{name}) {
$html->handler(text => sub{$text = shift;},"dtext");
$html->handler(end => sub{ $self->{content} = $text},"attr");
}

}
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
esskar
 2005-11-30 13:49
#60585 #60585
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
wieso benutzt du nicht den TreeBuilder?
J-jayz-Z
 2005-11-30 14:09
#60586 #60586
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Weil ich da, so wie ich es gesehen hab, erst die Ausgabe parsen müsste ?!
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
esskar
 2005-11-30 14:43
#60587 #60587
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=J-jayz-Z,30.11.2005, 13:09]Weil ich da, so wie ich es gesehen hab, erst die Ausgabe parsen müsste ?![/quote]
nein...
schau dir doch mal das Interface an... mit dem Dump wollte ich nur aufzeigen, dass das Modul schon kann...
J-jayz-Z
 2005-11-30 21:15
#60588 #60588
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Mit TreeBuilder komm ich gar nicht klar...
Aber es muss doch ne Möglichkeit geben, HTML::Parser zu sagen, das verschachtelung auch erlaubt ist ... ?!
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
ptk
 2005-12-01 03:02
#60589 #60589
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wo liegen die Probleme mit TreeBuilder? Das Modul benutzt ja einen eher DOM+XPath-ähnlichen Ansatz, welches ich wesentlich einfacher als das event-basierte HTML::Parser finde.
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2005-11-29 23:22.