3v4l.org

run code in 300+ PHP versions simultaneously
<?php $message = "Lorem %tag2% ipsum dolor %tag1% sit amet, consectetur %tag2% adipiscing elit. Phasellus vestibulum tortor vitae sagittis %tag1% laoreet. Proin pellentesque urna id %tag1% rhoncus %tag2% scelerisque."; echo "make fake tags\n"; $fakeTags = [ '%tag1%' => "%tag1\u{2060}%", '%tag2%' => "%tag2\u{2060}%", '%tag3%' => "%tag3\u{2060}%", '%tag4%' => "%tag4\u{2060}%", ]; $message = str_replace( array_keys($fakeTags), array_values($fakeTags), $message ); var_dump($message); echo "\n"; echo "apply actual tags\n"; $message = "Welcome %tag1%! " . $message . " Gbye %tag2%"; var_dump($message); echo "\n"; echo "do actual replacement\n"; $actualTags = [ '%tag1%' => 'Pluto', '%tag2%' => 'Donald', ]; $message = str_replace( array_keys($actualTags), array_values($actualTags), $message ); var_dump($message); echo "\n";
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 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
make fake tags string(216) "Lorem %tag2⁠% ipsum dolor %tag1⁠% sit amet, consectetur %tag2⁠% adipiscing elit. Phasellus vestibulum tortor vitae sagittis %tag1⁠% laoreet. Proin pellentesque urna id %tag1⁠% rhoncus %tag2⁠% scelerisque." apply actual tags string(244) "Welcome %tag1%! Lorem %tag2⁠% ipsum dolor %tag1⁠% sit amet, consectetur %tag2⁠% adipiscing elit. Phasellus vestibulum tortor vitae sagittis %tag1⁠% laoreet. Proin pellentesque urna id %tag1⁠% rhoncus %tag2⁠% scelerisque. Gbye %tag2%" do actual replacement string(243) "Welcome Pluto! Lorem %tag2⁠% ipsum dolor %tag1⁠% sit amet, consectetur %tag2⁠% adipiscing elit. Phasellus vestibulum tortor vitae sagittis %tag1⁠% laoreet. Proin pellentesque urna id %tag1⁠% rhoncus %tag2⁠% scelerisque. Gbye Donald"
Output for 5.5.0 - 5.5.36, 5.6.0 - 5.6.28
make fake tags string(246) "Lorem %tag2\u{2060}% ipsum dolor %tag1\u{2060}% sit amet, consectetur %tag2\u{2060}% adipiscing elit. Phasellus vestibulum tortor vitae sagittis %tag1\u{2060}% laoreet. Proin pellentesque urna id %tag1\u{2060}% rhoncus %tag2\u{2060}% scelerisque." apply actual tags string(274) "Welcome %tag1%! Lorem %tag2\u{2060}% ipsum dolor %tag1\u{2060}% sit amet, consectetur %tag2\u{2060}% adipiscing elit. Phasellus vestibulum tortor vitae sagittis %tag1\u{2060}% laoreet. Proin pellentesque urna id %tag1\u{2060}% rhoncus %tag2\u{2060}% scelerisque. Gbye %tag2%" do actual replacement string(273) "Welcome Pluto! Lorem %tag2\u{2060}% ipsum dolor %tag1\u{2060}% sit amet, consectetur %tag2\u{2060}% adipiscing elit. Phasellus vestibulum tortor vitae sagittis %tag1\u{2060}% laoreet. Proin pellentesque urna id %tag1\u{2060}% rhoncus %tag2\u{2060}% scelerisque. Gbye Donald"

preferences:
110.29 ms | 2008 KiB | 4 Q