3v4l.org

run code in 300+ PHP versions simultaneously
<?php function getValue($html, $tag, $attr) { $dom = new DOMDocument; $dom->loadHTML($html); $xpath = new DOMXPath($dom); $result = []; foreach ($xpath->query("//{$tag}[@{$attr}]") as $node) { $result[] = $node->getAttribute($attr); } return implode(',', $result); } $html = '<a data-id="777777"></a><a data-id="888888"></a><a data-id="99999"></a>'; $tag = 'a'; $attr = 'data-id'; echo getValue($html, $tag, $attr); echo "\n---\n"; $html = '<a data-A="AAAAAA"></a><a data-A="BBBBBB"></a><a data-A="CCCCCC"></a>'; $tag = 'a'; $attr = 'data-a'; echo getValue($html, $tag, $attr);
Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
777777,888888,99999 --- AAAAAA,BBBBBB,CCCCCC

preferences:
121.38 ms | 1475 KiB | 4 Q