3v4l.org

run code in 300+ PHP versions simultaneously
<?php $find = 'place'; // case is irrelevant to processing $replace = 'garden'; // must be declared in all lowercase echo preg_replace_callback( '#\b' . preg_quote($find) . '\b#ui', function ($word) use ($replace) { $i = 0; return preg_replace_callback( '#(\p{Lu})|.#su', function ($char) use (&$i, $replace) { $newChar = mb_substr($replace, $i++, 1); return isset($char[1]) ? mb_strtoupper($newChar) : $newChar; }, $word[0] ); }, 'Place replacements in their proper plACe without being complacent; use word boundaries.' );
Output for git.master, git.master_jit, rfc.property-hooks
Garde replacements in their proper gaRDe without being complacent; use word boundaries.

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:
30.77 ms | 401 KiB | 8 Q