【发布时间】:2012-05-26 13:18:02
【问题描述】:
我正在尝试做的事情听起来很简单,但不知怎的,我现在已经为此苦苦挣扎了几个小时,所以请指出正确的方向:
我有一些看起来像这样的 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 模块一起使用...
谢谢!
【问题讨论】:
标签: perl html-parsing