'; echo "=== Original ===\n$html\n\n"; // Parse $parser = new DomTemplateParser(); $dom = $parser->parseToWrapper($html); echo "=== After Parse ===\n"; echo $dom->document->saveHTML() . "\n\n"; // Find x-counter $xCounter = null; foreach ($dom->document->getElementsByTagName('*') as $el) { if ($el instanceof \Dom\HTMLElement && strtolower($el->tagName) === 'x-counter') { $xCounter = $el; break; } } if ($xCounter) { echo "=== Found x-counter ===\n"; echo "Tag: " . $xCounter->tagName . "\n"; echo "Attributes: " . $xCounter->attributes->length . "\n\n"; // Replace with mock content $service = new DomComponentService(); $replacementHtml = '
Counter HTML
'; echo "=== Replacing with ===\n$replacementHtml\n\n"; $service->replaceComponent($dom, $xCounter, $replacementHtml); echo "=== After Replacement ===\n"; echo $dom->document->saveHTML() . "\n"; } else { echo "x-counter NOT FOUND!\n"; }