3v4l.org

run code in 300+ PHP versions simultaneously
<?php function generateRandomString(){ static $baz = ['consectetur', 'dolor', 'pellentesque', '__TEMPORARY_PLACEHOLDER__']; return array_shift($baz); } $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 "generate a unique string that is not present in the above text\n"; do{ $uniqueToken = generateRandomString(); }while(strpos($message, $uniqueToken) !== false); var_dump($uniqueToken); echo "\n"; echo "backup fake tags\n"; $fakeTags = [ '%tag1%' => $uniqueToken . '1', '%tag2%' => $uniqueToken . '2', '%tag3%' => $uniqueToken . '3', '%tag4%' => $uniqueToken . '4', ]; $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"; echo "restore fake tags\n"; $message = str_replace( array_values($fakeTags), array_keys($fakeTags), $message ); var_dump($message); echo "\n";
Output for git.master, git.master_jit, rfc.property-hooks
generate a unique string that is not present in the above text string(25) "__TEMPORARY_PLACEHOLDER__" backup fake tags string(318) "Lorem __TEMPORARY_PLACEHOLDER__2 ipsum dolor __TEMPORARY_PLACEHOLDER__1 sit amet, consectetur __TEMPORARY_PLACEHOLDER__2 adipiscing elit. Phasellus vestibulum tortor vitae sagittis __TEMPORARY_PLACEHOLDER__1 laoreet. Proin pellentesque urna id __TEMPORARY_PLACEHOLDER__1 rhoncus __TEMPORARY_PLACEHOLDER__2 scelerisque." apply actual tags string(346) "Welcome %tag1%! Lorem __TEMPORARY_PLACEHOLDER__2 ipsum dolor __TEMPORARY_PLACEHOLDER__1 sit amet, consectetur __TEMPORARY_PLACEHOLDER__2 adipiscing elit. Phasellus vestibulum tortor vitae sagittis __TEMPORARY_PLACEHOLDER__1 laoreet. Proin pellentesque urna id __TEMPORARY_PLACEHOLDER__1 rhoncus __TEMPORARY_PLACEHOLDER__2 scelerisque. Gbye %tag2%" do actual replacement string(345) "Welcome Pluto! Lorem __TEMPORARY_PLACEHOLDER__2 ipsum dolor __TEMPORARY_PLACEHOLDER__1 sit amet, consectetur __TEMPORARY_PLACEHOLDER__2 adipiscing elit. Phasellus vestibulum tortor vitae sagittis __TEMPORARY_PLACEHOLDER__1 laoreet. Proin pellentesque urna id __TEMPORARY_PLACEHOLDER__1 rhoncus __TEMPORARY_PLACEHOLDER__2 scelerisque. Gbye Donald" restore fake tags string(225) "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"

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
49.35 ms | 2675 KiB | 4 Q