Skip to content

Method previousAll gives nodes in reverse order? #38

Description

@glensc

Given this code:

<?php

use Wa72\HtmlPageDom\HtmlPageCrawler;

require_once __DIR__ . '/vendor/autoload.php';

function repr1(string $html)
{
    $crawler = new htmlPageCrawler($html);
    $tags = $crawler->filter('script[src="embed.js"]');

    $tags->each(function (HtmlPageCrawler $node) {
        $before = $node->previousAll();
        print_r($before->saveHTML());
    });
}

$html = '
<script type="text/javascript" src="embed.php" ></script>
<script type="text/javascript">_load1(42); </script>

<script type="text/javascript">var c = "SPORT";</script>
<script type="text/javascript" src="embed.js"></script>
<script>_load2({width: 517, height: 323, salt: "hDPwYH3j"}); </script>
';

repr1($html);

this outputs:

<script type="text/javascript">var c = "SPORT";</script>
<script type="text/javascript">_load1(42); </script>
<script type="text/javascript" src="embed.php"></script>

but should output in dom order:

<script type="text/javascript" src="embed.php"></script>
<script type="text/javascript">_load1(42); </script>
<script type="text/javascript">var c = "SPORT";</script>

Seems the previousAll returns nodes in order closest to farthest rather first appearing in dom to last appearing in dom?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions