'; echo "=== Original HTML ===\n"; echo $html . "\n\n"; // Parse with DomTemplateParser (which uses lexer) $parser = new DomTemplateParser(); $document = $parser->parse($html); echo "=== After DomTemplateParser ===\n"; echo $document->saveHTML() . "\n\n"; // Create DomWrapper $dom = new DomWrapper($document); echo "=== Body content ===\n"; $body = $dom->document->getElementsByTagName('body')[0] ?? null; if ($body) { echo "Body innerHTML: " . ($body->textContent ?? 'null') . "\n"; echo "Body children count: " . $body->childNodes->length . "\n"; foreach ($body->childNodes as $child) { echo " Child: " . get_class($child) . " - " . ($child->nodeName ?? 'no name') . "\n"; } } else { echo "No body found\n"; } // Find x-counter elements echo "\n=== Finding x-counter elements ===\n"; $xComponents = []; $allElements = $dom->document->getElementsByTagName('*'); foreach ($allElements as $element) { if ($element instanceof \Dom\HTMLElement && str_starts_with(strtolower($element->tagName), 'x-')) { echo "Found: " . $element->tagName . "\n"; echo " Attributes: " . $element->attributes->length . "\n"; foreach ($element->attributes as $attr) { echo " " . $attr->nodeName . "=" . $attr->nodeValue . "\n"; } $xComponents[] = $element; } } echo "\nTotal x-components found: " . count($xComponents) . "\n";