Невозможно манипулировать строкой таблицы как parentNode текущей ячейки с помощью dom / xpath - PullRequest
0 голосов
/ 08 июня 2018

У меня есть такой PHP-код

$html = '<div class="some_class"><table><tr><td>Tr0Td0</td><td>Tr0Td1</td></tr><tr><td>Tr1Td0</td><td>Tr1Td1</td></tr></table></div>';
$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');

$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_use_internal_errors(false);
$xpath = new DOMXpath($dom);

$div = $xpath->evaluate('//div[contains(@class, "some_class")]')[0];
$table = $div->getElementsByTagName('table')[0];

foreach($table->getElementsByTagName('td') as $td) {
    if($td->nodeValue == 'Tr0Td1') {
        $td->parenNode->nextSibling->setAttribute('class','nextTR');
    }
}

echo $dom->saveXML($table);

В цикле foreach() мне нужно получить строку таблицы, которая является следующей по отношению к строке, в которой находится текущая ячейка. Но яне могу этого сделать, даже получить строку текущей ячейки.В обоих случаях я получаю ошибку 500.

Что не так?

...