Я пытался получить имя пользователя, заголовок, кол-во комментариев и количество видеороликов из исходного кода html. Есть несколько блоков, каждый из которых содержит разные детали для этих параметров. Вот код, который ломает данные, но выдает их все в списке.
Как и прежде, все видеоролики, затем все комментарии подсчитываются и так далее. Не для каждого блока отдельно. Рассмотрим эту ссылку для исходного кода.
вот код:
function getParameter($url) { $html = file_get_html($url); if($html) { //we iterate all 'div.v' and select data from every 'div.v' separately $containersDiv = $html->find('div.v'); foreach($containersDiv as $div) { $containers1 = $div->find('div[class=v-meta va] div.v-meta-entry'); foreach($containers1 as $container) { $plays = $container->find('.v-num'); // get nos of time video played $item = new stdClass(); foreach($plays as $play) { $nos = $play->plaintext; } //echo $address; } $containers2 = $div->find('div[class=v-meta va] a'); //get user name foreach($containers2 as $username) { $user = $username->plaintext; } $containers3 = $div->find('div.v-link a'); //get video title foreach($containers3 as $title) { $title = $title->plaintext; } $commentcontainers = $div->find('div[class=v-meta va] div.v-meta-entry span'); //get nos of comments changed foreach($commentcontainer as $cont) { $comments = $cont->plaintext; } } return $data; } }
также существует проблема в $commentcontainers = $div->find('div[class=v-meta va] div.v-meta-entry span');
, Он дает Invalid argument supplied for foreach()
. Я ценю помощь, если кто-то скажет мне, где проблема