3v4l.org

run code in 300+ PHP versions simultaneously
<?php function ConvertToAPICase($str) { return preg_replace_callback('/(^[a-z])|-([\w])/', function($matches) { return str_replace('-', '', strtoupper($matches[0])); }, $str); } function ConvertToJSCase($str) { $str = preg_replace_callback('/([A-Z]+|[0-9]+)/', function($matches) { return '-' . strtolower($matches[0]); }, $str); // remove first dash return preg_replace('/^-/', '', $str); } echo ConvertToJSCase('NicamAllAges'); echo ' - '; echo ConvertToAPICase('nicam-age-6'); echo ' - '; echo ConvertToJSCase('NicamAge6'); echo ' - '; echo ConvertToJSCase('nicamAge12'); echo ' - '; echo ConvertToJSCase('NicamAA');

preferences:
56.25 ms | 402 KiB | 5 Q