Ho can i explode $param
string into $chunks
pieces based on upper-case characters?
$string = \'setIfUnmodifiedSince\';
$method = su
If you wish to convert string with lover case you can @jensgram's code, where I have changed hyphen (-)
to underscore (_)
strtolower(preg_replace('/(?<!^)([A-Z])/', '_\\1', $param));
as I was looking for.
function splitAtUpperCase($string){
return preg_replace('/([a-z0-9])?([A-Z])/','$1-$2',$string);
}
$string = 'setIfUnmodifiedSince';
echo splitAtUpperCase($string);
Using preg_split() on [A-Z]
should do:
function splitAtUpperCase($s) {
return preg_split('/(?=[A-Z])/', $s, -1, PREG_SPLIT_NO_EMPTY);
}
EDIT
If you don't need the array itself, you can just preprend uppercase characters (except the first) with a hyphen (-
):
preg_replace('/(?<!^)([A-Z])/', '-\\1', $param);
(demo)
$chunks = preg_split('/(?=[A-Z])/', $string);