我正在尝试做的事情听起来很容易,但不知何故我现在已经为此苦苦挣扎了几个小时,所以请指出我正确的方向:
我有一些看起来像这样的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 模块一起使用...
谢谢!