ressio / pharse

Fastest PHP HTML Parser
83 stars 15 forks source link

Parser not getting the css-Class!? #68

Open Meistercoach83 opened 7 years ago

Meistercoach83 commented 7 years ago

Hi,

I´m trying to get the row´s css-Classes from this small html-snippet:

<div class="club-matches">
            <table class="table">
                <tbody>
                    <tr class="row-mainInfo">
                        <td colspan="6">Samstag, 26.08.2017 - 18:00 Uhr | CS:GO | Friendly</td>
                    </tr>

my current code:

foreach($html('div.club-matches table tbody tr') as  $index => $row) {
            echo $index;
            echo $row->class;
            echo $row->getPlainText(), "<br>\n";
        }

My Problem: I can display the PlainText from each row - but not its css-Class.. what´s wrong with my code?

** edit: When I do an

var_dump($row->attributes);

I get

array(1) {
  ["class"]=>
  string(26) "row-mainInfo"

}

robneu commented 7 years ago

I also ran into this and had to resort to pulling it out of the attributes. It works, but definitely seems like a bug. This should work, I think:

foreach($html('div.club-matches table tbody tr') as  $index => $row) {
    $class = '';
    if ( isset( $row->attributes['class'] ) ) {
        $class = $row->attributes['class'];
    }

    echo $index;
    echo $class;
    echo $row->getPlainText(), "<br>\n";
}