私がやろうとしていることはとても簡単に聞こえますが、どういうわけか今数時間苦労しているので、正しい方向に向けてください:
次のようなhtmlがあります。
<img src="random.jpg" class="someClass" id="someId" alt="test" />
現在、これをこのコードと一致させることはできません:
my $tp = HTML::TokeParser->new(\$rawHTML) || die "Cant't open: $!";
while (my $token = $tp->get_token){
my $ttype = shift @{ $token };
if($ttype eq "S"){
my($tag, $attr, $attrseq, $rawtxt) = @{ $token };
if ($tag eq "img"){
if(($attr->{'class'} eq "someClass")&&($attr->{'id'}eq "someId")){
my $alttext = $attr->{'alt'};
print "AltText: $alttext";
...
}
}
}
}
}
TokeParser は自己完結型のタグ </.../> を無視しているようです。なんで?私はこれに対する解決策を長い間懸命に探してきました.TokeParserまたは他のPerlモジュールで動作させるための助けを本当に感謝しています...
ありがとう!