- preg_replace_callback: documentation ( source)
- strtoupper: documentation ( source)
- preg_replace: documentation ( source)
- strtolower: documentation ( source)
<?php
function ConvertToAPICase($str) {
return preg_replace_callback('/^([a-z]{1})|(-([\w]{1}))/g', function($matches) {
return strtoupper($matches[1]);
}, $str);
}
function ConvertToJSCase($str) {
$str = preg_replace_callback('/([A-Z]+)/g', 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');