What are the potential issues with using the same ID multiple times in an HTML document when using DOMDocument in PHP?

Using the same ID multiple times in an HTML document can cause issues with JavaScript and CSS selectors as IDs should be unique. To solve this issue, you can use classes instead of IDs for elements that need to be styled or manipulated in a similar way.

<?php
$html = '<div id="uniqueId">First div</div><div id="uniqueId">Second div</div>';

$doc = new DOMDocument();
$doc->loadHTML($html);

$xpath = new DOMXPath($doc);
$elements = $xpath->query('//*[@id="uniqueId"]');

foreach ($elements as $element) {
    $element->setAttribute('class', 'commonClass');
    $element->removeAttribute('id');
}

echo $doc->saveHTML();
?>