Простой HTML Dom Parsing нескольких изображений внутри таблицы - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть этот код:

    require('simple_html_dom.php');
    $xurl=('https://example.com/pics/flower.php');
    $html = file_get_html($xurl);
    $articles = [];
    $i = 0;

   foreach ($html->find('div.gallery-a -> *') as $article) {
   if ($i > 22) {
                break;
        }

    $title = $html->find('div.gallery-a -> table -> tr.*[id] -> td -> a', $i)->plaintext;
    $url = $html->find('div.gallery-a -> table -> tr.*[id] -> td -> a', $i)->href;
    $images = $html->find('div.gallery-a -> table ->td -> table -> tr -> img',$i)->src;

    $item['Title'] = $title;
    $item['link'] = $url;
    $item['image'] = $images;

    $articles[] = $item;
    $i++;
    }


    $result = json_encode($articles, JSON_PRETTY_PRINT);        

    header('Access-Control-Allow-Origin: *');
    header('Content-type: Application/JSON');
    echo $result;

А вот HTML-код для разбора: https://pastebin.com/uj4YHiHt

Я пытаюсь очистить данные с одного сайта с помощью простого PHP PHP, этосайт использует очень мало классов или идентификаторов в своем исходном коде, поэтому у меня возникли проблемы с поиском правильного кода для получения желаемых результатов

Я могу управлять 2 элементами с правильным результатом ( Заголовок и url ), но у меня возникают трудности с элементами images , которые находятся внутри таблицы.Вот результат, если я попытаюсь получить изображение с помощью цикла.

[
    {
        "Title": "Tulip flower under the rainbow",
        "link": "\/gallery.php?id=345",
        "image": "https://example.com/images/tulip1.jpg"
    },
    {
        "Title": "Red Rose flower",
        "link": "\/gallery.php?id=346",
        "image": "https://example.com/images/tulip2.jpg"
    },

Ожидаемый результат

[
    {
        "Title": "Tulip flower under the rainbow",
        "link": "\/gallery.php?id=345",
        "image1": "https://example.com/images/tulip1.jpg"
        "image2": "https://example.com/images/tulip2.jpg"
        "image3": "https://example.com/images/tulip3.jpg"
        "image4": "https://example.com/images/tulip4.jpg"
    },
    {
        "Title": "Red Rose flower",
        "link": "\/gallery.php?id=346",
        "image1": "https://example.com/images/rose1.jpg"
        "image2": "https://example.com/images/rose2.jpg"
        "image3": "https://example.com/images/rose3.jpg"
        "image4": "https://example.com/images/rose4.jpg"
    },

Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...