3v4l.org

run code in 300+ PHP versions simultaneously
<?php $ubbText = <<<TEXT [b]Hey[/b] [b]Hello[/b] TEXT; $counter = 0; do { $ubbText = preg_replace( "~\[b](.*?)\[/b]~si", '<span class="b">' . (++$counter) . '. $1</span>', $ubbText, 1, $count ); } while ($count); echo $ubbText;
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
<span class="b">1. Hey</span> <span class="b">2. Hello</span>

preferences:
138.4 ms | 407 KiB | 5 Q