3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = <<<'HTML' <div class="blockImg imgRight"> <img src="customs/2/pictures/home.png"> <figcaption>Une légende</figcaption> </div> HTML; // on ajoute la structure manquante pour préciser l'encodage $html = <<<HTML <html><head><meta charset="utf-8"/></head><body>$html</body></html> HTML; $dom = new \DOMDocument; $dom->loadHTML($html, LIBXML_NOERROR); $context = $dom->getElementsByTagName('div')[0]; $xp = new \DOMXPath($dom); // on extrait la valeur de l'attribut class tout en vérifiant la présence de la classe "blockImg" $classAttrValue = $xp->evaluate( 'string(@class[contains(concat(" ", normalize-space(.), " "), " blockImg ")])', $context ); if ($classAttrValue && preg_match('~ \b img (?: Right | Left ) \b ~x', $classAttrValue, $m)) { $class = $m[0]; $src = $xp->evaluate('string(img/@src)', $context); $filename = basename($src); $caption = $xp->evaluate('string(figcaption)', $context); echo $class, PHP_EOL, $src, PHP_EOL, $filename, PHP_EOL, $caption, PHP_EOL; }
Output for git.master, git.master_jit
imgRight customs/2/pictures/home.png home.png Une légende

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
50.18 ms | 405 KiB | 5 Q