Получить все ссылки внутри div

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
boriso
Сообщения: 2
Зарегистрирован: 04 янв 2020, 11:49

Получить все ссылки внутри div

Сообщение boriso » 04 янв 2020, 11:55

Здравствуйте

Есть страница

Код: Выделить всё

<html>
<body>

<div id='first'>
<a href='/page1'>text1</a>
<a href='/page2'>text2</a>
</div>

<div id='second'>
<a href='/page3'>text3</a>
<a href='/page4'>text4</a>
<a href='/page5'>text5</a>
</div>

<div id='third'>
<a href='/page6'>text6</a>
<a href='/page7'>text7</a>
<a href='/page8'>text8</a>
</div>

</body>
</html>
Помогите, пожалуйста, получить массив href всех ссылок внутри DIVa с id=second
Что-то пробую сделать одной строкой и не получается :(


boriso
Сообщения: 2
Зарегистрирован: 04 янв 2020, 11:49

Re: Получить все ссылки внутри div

Сообщение boriso » 04 янв 2020, 14:09

get_all_attributes_by_attribute() найдет все ссылки на странице, а мне нужно только список URL-ов из DIV-а с id=second
или я что-то не так понял?

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

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: Получить все ссылки внутри div

Сообщение Support » 04 янв 2020, 20:42

Если брать ваш пример то пока что нужные вам ссылки можно получить таким кодом:

// получаем div
$dv=$div->get_by_id("second");
// колчиество дочерних 
$cnt = $dv->get_child_count();
// получаем все дочерние элементы по номерам
for($ii=0;$ii<$cnt;$ii++)
{
   echo $dv->get_child_by_number($ii)->get_href();
   echo "<br>";
}

на самом деле есть функция get_all_child_by_attribute .

Но на данный момент она оказалась отключённой в Studio. Мы её починим сразу после каникул. С ней код был бы таким:

// получаем div
$dv=$div->get_by_id("second");
// массив дочерних интерфейсов
$arr= $dv->get_all_child_by_attribute("href","");
// выведем в панель отладки тексты элементов
print_r($arr->get_href())

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Получить все ссылки внутри div

Сообщение bigfozzy » 09 янв 2020, 22:38

- сделана работоспособность функций interface : get_all_child_by_inner_text, get_all_child_by_inner_html, get_all_child_by_attribute

Ответить