我的html看起来像这样,
<div>
<span>Text
<a href="example.html">ABC</a>
<a href="example.html">DEF</a>
<a href="example.html">HIJ</a>
<a href="example.html">KLM</a>
</span>
<p class="Time">
09/28/10 - 03:46 PM EDT</p>
</div>
我需要遍历<a>
标记之间的<span>
标记,直到我从所有标记中获取文本。这会不断变化,所以我不知道会有多少<a>
个标签存在。我不能做,
while ( $tag = $stream->get_tag('a') )
因为它浏览整个文件中的<a>
标记。如果连续的<a>
代码结束,我该如何停止?
答案 0 :(得分:3)
while ( $tag = $stream->get_tag(qw( a /span )) ) {
last if $tag->[0] eq '/span';
...
}
另一种方法是获取任何标记,如果不是<a>
则停止:
while ( $tag = $stream->get_tag ) {
last unless $tag->[0] eq 'a';
...
}