У меня есть PHP-скрипт, который анализирует веб-страницу и перемещается по ней с помощью библиотек DOMDocument и DOMXpath. При запуске $tr->ChildNodes->length
для получения 3 <td>
инструкция возвращает 6, где 0 возвращает первое <td>
, 1 — пустая строка (19), 2 — второе <td>
, 3 — снова пустая строка (19), 4 — третье <td>
, 5 — это еще раз пустая строка (19), а 6 — это весь HTML-код страницы. (проверено с использованием $dom->saveHTML($tr->childNodes->item(0)
и т. д.) Как заставить ->length
возвращать правильный номер? Почему он так странно себя ведет?
<tr>
<td>
<span>...</span>
</td>
<td>
<a href="..."><img ...></a>
</td>
<td>
<div>
<span>
<a href="...">...</a>
<br>
<ahref="...">...</a>
</span>
<span>...</span>
<br><br>
<a href="...">...</a>, <a href="...">...</a>
</div>
<div>
<a href="...">...</a> | <a href="...">...</a>
</div>
</td>
</tr>
Обратите внимание, что я пропустил некоторые атрибуты, такие как стиль, класс, данные и т. д.