DOM вопросик по ID

soulilya
На сайте с 08.10.2013
Offline
47
409

Доброго времени суток господа и дамы. Прошу помощи.

Есть куча страниц с HTML кодом вида:

<div class="pos" id="_184:674" style="top:674;left:184">

<span id="_13.7" style="font-weight:bold; font-family:Arial; font-size:13.7px; color:#000000">
8061-26</span>
</div>
<div class="pos" id="_316:674" style="top:674;left:316">
<span id="_13.7" style="font-weight:bold; font-family:Arial; font-size:13.7px; color:#000000">
8061-25</span>
</div>
<div class="pos" id="_651:673" style="top:673;left:651">
<span id="_13.7" style="font-weight:bold; font-family:Arial; font-size:13.7px; color:#000000">
5230-22</span>
</div>
<div class="pos" id="_779:673" style="top:673;left:779">
<span id="_13.7" style="font-weight:bold; font-family:Arial; font-size:13.7px; color:#000000">
5230-11</span>

Хочу вытащить текст из тегов с id="_13.7"


$doc = new DOMDocument();
$doc->loadHTMLFile("file.html");
$doc->getElementById('_13.7')->nodeValue . "\n";

Но выводит только первую попавшуюся ноду:8061-26

Как сделать чтобы вывел весь массив из элементов, как в getElementsByTagName?

VizInit
На сайте с 11.11.2014
Offline
3
#1

Атрибут ID в пределах документа, должен быть уникальным по спецификации HTML.

Используйте метод getElementsByTagName.

Затем в цикле пройдите по массиву найденных элементов и сравнивайте их атрибут id со значением _13.7.

Подходящие по условию элементы выводите или добавляйте в новый массив.

Помогаю в решении технических задач.
ДП
На сайте с 23.11.2009
Offline
203
#2

Ну или xpath вам в помощь, выражение что-то типа xpath("span[@id='_13.7']") будет - т.е. поиск по значению атрибута

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий