<div class="gmail_quote">2009/12/24 Dmitry E. Oboukhov <span dir="ltr"><<a href="mailto:unera@debian.org">unera@debian.org</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
A> Есть SAX-подобные парсеры типа HTML::TokeParser.<br>
<br>
ага, попарсь ими например какой-нибудь mailru (где постоянно грешат<br>
незакрытыми тегами) что-то вроде<br>
<br>
<tr><br>
<td>jdjdkjk<br>
<td>mlkllk<br>
<tfoot><br>
<tr><br>
<td>...</td><br>
</tr><br>
</tfoot><br>
<br>
и получится что когда хотим что-то конкретное выколупывать из сайтов<br>
то парсеры "ломаются" в каком-то конкретном случае и начинают вместо<br>
тега выколупывать еще и соседние.<br>
<br>
да, понятно что это невалидный html, но такого пол интернета :(<br></blockquote><div><br></div><div>Рамблер-почта парсит HTML-письма со всего мира с помощью HTML::Parser (он как раз событийный). Невалидность, которая встречается в письмах, настолько невалидна, что дух захватывает :) Ничего, справляется. Восстановление порядка в таблицах конечно писали сами, но, повторяю, событийные парсеры позволяют делать с семантикой всё что угодно.</div>
</div>