Добрый день!
Пытаюсь парсить страницу, но наткнулся на проблему, когда у нескольких элементов одинаковые идентификаторы.
Вот структура, которую я пытаюсь разобрать:
<div class="tabs_p">
<div class="tabs_p_d">
<div class="tabs_p_t">Name</div>
<div class="tabs_p_d"></div>
</div>
<div class="tabs_p_v">
5016 </div>
</div>
<div class="tabs_p_d">
<div class="tabs_p_t">ID</div>
<div class="tabs_p_d"></div>
</div>
<div class="tabs_p_v">
506 </div>
</div>
<div class="tabs_p_d">
<div class="tabs_p_t">LS</div>
<div class="tabs_p_d"></div>
</div>
<div class="tabs_p_v">
485 </div>
</div>
<div class="tabs_p_d">
<div class="tabs_p_t">Value</div>
<div class="tabs_p_d"></div>
</div>
<div class="tabs_p_v">
100 </div>
</div>
Как видите, у элементов нет уникальных идентификаторов, по которым можно было бы делать выборку. Но мне, например, нужно выбрать значение, в блоке "value". Как я могу получить эту цифру 100?
Как работает код, который разбирает эту страницу, например, для получения заголовка:
function Parse($p1, $p2, $p3) {
$num1 = strpos($p1, $p2);
if ($num1 === false) return 0;
$num2 = substr($p1, $num1);
return strip_tags(substr($num2, 0, strpos($num2, $p3)));
}
$string = file_get_contents('$source');
$name = strip_tags(trim(Parse($string, '<h1 item="name">', '</h1>')));
Помогите, пожалуйста, может есть какой-то метод выборки не по идентификаторам, а по содержимому элементов?
Или, как вариант, выбирать последний элемент, т.к. нужный мне всегда находится в конце.