- preg_replace_callback: documentation ( source)
- str_replace: documentation ( source)
- strtoupper: documentation ( source)
- preg_replace: documentation ( source)
- strtolower: documentation ( source)
<?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]+)/', 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');