3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = <<<HTML <span>0 Dollar</span> <span>0.01 Dollar</span> <span>0.00 Dollar</span> <span>50.00 Dollar</span> HTML; $dom = new DOMDocument; $dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); $xp = new DOMXPath($dom); $xp->registerNamespace("php", "http://php.net/xpath"); $xp->registerPHPFunctions('preg_match'); $pattern = '/\A(?=[0.]*[1-9])\d+(?:\.\d+)?+\h+Dollar\z/'; $spans = $xp->query("//span[php:functionString('preg_match', '$pattern', text())>0]"); foreach ($spans as $span) { echo $span->nodeValue . PHP_EOL; }
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.14
0.01 Dollar 50.00 Dollar

preferences:
92.57 ms | 406 KiB | 5 Q