Здравствуйте!
Имеется файл index.html который ссылается на три других файла one.html, two.html и three.html. Структура предельно простая. В файлах one и three имеется тег ul с классом list, а в файле two этого класса и тега нет.
Есть еще файл get.php, который парсит эти страницы и проверяет наличие класса .list, и выводится ответ есть этот класс или его нет. Вот код:
<?php
header('Content-type: text/html; charset=UTF-8');
$start = microtime(true);
set_include_path(get_include_path().PATH_SEPARATOR.'library/');
set_include_path(get_include_path().PATH_SEPARATOR.'phpQuery/');
require('config.php');
function __autoload( $className ) {require_once( "$className.php" );}
echo "<br>".date('H:i:s')." Начинаем парсинг ";
echo '<pre>';
$page=file_get_contents('index.html');
$document = phpQuery::newDocument($page);
$links=[];
foreach($document->find('ul li a') as $link){
$links[] = pq($link)->attr('href');
}
print_r($links);
foreach($links as $sublink){
$pageText =new Curl();
$pagenew=$pageText->get_page($sublink);
$cat_page = phpQuery::newDocument($pagenew);
$catlist = [];
foreach($cat_page as $cat_page){
if($item=pq($cat_page)->find('ul.list a')) {
echo "class is</br>";}else{
echo "class not is</br>";}
}
Проблема в том, что в итоге выводится, что класс есть на всех трех страницах, хотя на второй странице его нет. Помогите пожалуйста понять, что не правильно тут? вот что выводится:
11:07:22 Начинаем парсинг
Array
(
[0] => one.html
[1] => two.html
[2] => three.html
)
class is
class is
class is