3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tests = [ ['this is a test', 'This Is a Test', false], ['why sunless tanning is A hot trend', 'Why Sunless Tanning Is a Hot Trend', false], ['Satin Sheets are a Luxury you Can Afford', 'Satin Sheets Are a Luxury You Can Afford', false], ['the Dangers Of Hiking Without Proper Shoes', 'The Dangers of Hiking Without Proper Shoes', false], ['an hour or so', 'An Hour or So', false], ['Of the meaning Of Of', 'Of the Meaning of Of', false], ['Thing With Extra Spaces', 'Thing With Extra Spaces', false], ['Thing with extra spaces', 'Thing With Extra Spaces', true], ['Observations of isolated pulsars and disk-fed X-ray binaries.', 'Observations of Isolated Pulsars and Disk-Fed X-Ray Binaries.', false] ]; function APATitle($title, $keepMultipleSpaces = false, $blackList = []) { if (!is_string($title)) { return false; } $blackList = $blackList ? array_map('strtolower', (array)$blackList) : ['a', 'an', 'and', 'at', 'but', 'by', 'for', 'in', 'nor', 'of', 'on', 'or', 'so', 'the', 'to', 'up', 'yet']; if (!$keepMultipleSpaces) { $title = preg_replace('~\s+~', ' ', $title); } return preg_replace_callback( '~(?!^)\b(?:' . implode('|', $blackList) . ')\b(?!$)(*SKIP)(*FAIL)|\b[a-z]+\b~', function ($m) { return ucfirst($m[0]); }, strtolower($title) ); } foreach ($tests as [$input, $expectedOutput, $keepMultipleSpaces]) { $output = APATitle($input, $keepMultipleSpaces); echo ($output === $expectedOutput ? 'SUCCESS' : 'FAILURE') . "\"{$input}\" became \"{$output}\"\n"; }
Output for git.master, git.master_jit, rfc.property-hooks
SUCCESS"this is a test" became "This Is a Test" SUCCESS"why sunless tanning is A hot trend" became "Why Sunless Tanning Is a Hot Trend" SUCCESS"Satin Sheets are a Luxury you Can Afford" became "Satin Sheets Are a Luxury You Can Afford" SUCCESS"the Dangers Of Hiking Without Proper Shoes" became "The Dangers of Hiking Without Proper Shoes" SUCCESS"an hour or so" became "An Hour or So" SUCCESS"Of the meaning Of Of" became "Of the Meaning of Of" SUCCESS"Thing With Extra Spaces" became "Thing With Extra Spaces" SUCCESS"Thing with extra spaces" became "Thing With Extra Spaces" SUCCESS"Observations of isolated pulsars and disk-fed X-ray binaries." became "Observations of Isolated Pulsars and Disk-Fed X-Ray Binaries."

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:
59.35 ms | 402 KiB | 8 Q