3v4l.org

run code in 500+ PHP versions simultaneously
<?php $html = <<<'HTML' <div class="blockImg imgRight"> <img src="customs/2/pictures/home.png"> <figcaption>Une légende</figcaption> </div> HTML; $dom = \Dom\HTMLDocument::createFromString($html, LIBXML_NOERROR | \DOM\HTML_NO_DEFAULT_NS); $xp = new \Dom\XPath($dom); $context = $dom->getElementsByTagName('div')[0]; $classList = $context->classList; if ($classList->contains('blockImg') and $classList->contains('imgRight') || $classList->contains('imgLeft')) { $class = $classList->contains('imgRight') ? 'imgRight' : 'imgLeft'; $src = $xp->evaluate('string(img/@src)', $context); $caption = $xp->evaluate('string(figcaption)', $context); echo $class, PHP_EOL, $src, PHP_EOL, $caption, PHP_EOL; }
Output for 8.1.32 - 8.1.34, 8.2.0 - 8.2.34, 8.3.0 - 8.3.35
Fatal error: Uncaught Error: Class "Dom\HTMLDocument" not found in /in/qvvuL:10 Stack trace: #0 {main} thrown in /in/qvvuL on line 10
Process exited with code 255.
Output for 8.4.1 - 8.4.26, 8.5.0 - 8.5.11
imgRight customs/2/pictures/home.png Une légende

preferences:
30.21 ms | 1155 KiB | 9 Q