So this works fine in a foreach which I thought meant $elements was an array...
$DOM = new DOMDocument();
$DOM->loadHTML($content);
$xpath = new DOMXPath($DOM);
$elements= $xpath->query('//li');
foreach($elements as $element){
$newdoc = new DOMDocument();
$cloned = $element->cloneNode(TRUE);
$newdoc->appendChild($newdoc->importNode($cloned,TRUE));
$lis .= $newdoc->saveHTML();
}
But this
if ($elements[0]) {
echo $elements[0]->nodeValue;
}
Gives Cannot use object of type DOMNodeList as array
The foreach() there is not a class method so why does it function on the DOMNodeList as if it were an array when apparently it is not one?