3v4l.org

run code in 300+ PHP versions simultaneously
<?php function ConvertToAPICase($str) { return preg_replace_callback('/(^[a-z]{1})|-([\w]{1})/', function($matches) { return strtoupper($matches[1]); }, $str); } function ConvertToJSCase($str) { $str = preg_replace_callback('/([A-Z]+)/', function($matches) { return '-' . strtolower($matches[1]); }, $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.32 ms | 402 KiB | 5 Q