Как получить URL в & lt; a & gt; тег с простым HTML DOM Parser?

<ul id="PrList" class="v2">
<li class="tools">

</li>
<li class="firstRow">
<div class="i">
<a href="www.google.com" title="Google" class="nC">
<img src="something">
</a>
</div>
</li>
</ul>

Как получить просто href приписывать <div class="i">?

Я попробовал это

$html = file_get_html($link);
$urls = [];
foreach($html->find('.i') as $element) {
$url = $element->find('.nC')->href;
if (!in_array($url, $urls)) {
echo $url . "<br/>";
$urls[] = $url;
}
}

но я получил ошибку: —

Примечание: попытка получить свойство необъекта

и я попробовал: —

$html = file_get_html($link);
$html = $html->find('div.i');
$html -> find('a',0)->href;
$echo $html;

но я снова получил ошибку: —

Неустранимая ошибка: вызов функции-члена find () для массива

2

Решение

Вы должны сделать это, как показано ниже:

$html = file_get_html($link);
$urls = [];
foreach($html->find('.i a') as $element) {
$url = $element->href;
if (!in_array($url, $urls)) {
echo $url . "<br/>";
$urls[] = $url;
}
}
echo "<pre/>";print_r($urls);
2

Другие решения

Попробуйте этот цикл.

foreach($html->find('div[class=i] a') as $a){
var_dump($a->attr);
}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector