3v4l.org

run code in 300+ PHP versions simultaneously
<?php $thisid= '{7370418c-3e5a-b044-8db3-4bba6d805f72}'; $elementId = 'a test working!'; $thisurl = 'This is {7370418c-3e5a-b044-8db3-4bba6d805f72}'; function getElementPath($elementId, $thisid, $thisurl) { return preg_replace(sprintf('/%s$/', $thisid), $elementId, $thisurl); } function getElementPathFixed($elementId, $thisid, $thisurl) { return preg_replace(sprintf('/%s$/', preg_quote($thisid)), $elementId, $thisurl); } // The problem var_dump(getElementPath($elementId, $thisid, $thisurl)); // The fix var_dump(getElementPathFixed($elementId, $thisid, $thisurl));
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 8.1.0 - 8.1.29, 8.2.0 - 8.2.23, 8.3.0 - 8.3.11
string(23) "This is a test working!" string(23) "This is a test working!"
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30
Warning: preg_replace(): Compilation failed: number too big in {} quantifier at offset 6 in /in/DgDZZ on line 9 NULL string(23) "This is a test working!"

preferences:
68.34 ms | 407 KiB | 5 Q