3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = '§f§lWORDHERE'; $replacements = [ '§f' => '<span style="color: white;">$0</span>', '§l' => '<b>$0</b>', ]; if (preg_match('/^(?<flags>(?:§[a-z])+)(?<string>.*)/iu', $str, $matches)) { $str_res = $matches['string']; foreach (mb_str_split($matches['flags'], 2) as $flag) { $str_res = preg_replace('/.+/', $replacements[$flag], $str_res); } echo $str_res; }
Output for 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
<b><span style="color: white;">WORDHERE</span></b>
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33
Fatal error: Uncaught Error: Call to undefined function mb_str_split() in /in/MC18s:13 Stack trace: #0 {main} thrown in /in/MC18s on line 13
Process exited with code 255.

preferences:
101.34 ms | 1507 KiB | 4 Q