При использовании XPath вам всегда нужно указывать XPath относительно начального узла, поэтому, используя оси descendant
, вы гарантируете ограничение последующего поиска только в части узлов начальной точки.
Таким образом, код выглядел бы больше как ...
foreach ($nodes as $i => $node) {
$entries = $finder->query("descendant::*[contains(@class, 'post_message')]", $node);
echo $entries[0]->textContent .":";
$isrc = $finder->query("descendant::img/@src", $node);
foreach ( $isrc as $src ) {
echo $src->textContent.",";
}
echo PHP_EOL;
}
, который вывел бы
test 123:1.png,
test 1232:2.png,3.png,