Как я могу получить непрерывные теги с HTML :: TokeParser - PullRequest
0 голосов
/ 29 сентября 2010

У меня есть 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> заканчиваются?

1 Ответ

3 голосов
/ 29 сентября 2010
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';
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...