Ho can i explode $param
string into $chunks
pieces based on upper-case characters?
$string = 'setIfUnmodifiedSince';
$method = substr($string, 0, 3);
$param = substr($string, 3);
// Split $param and implode with '-' separator
$chunks = splitAtUpperCase($param); // Chunks are: 'If', 'Unmodified' and 'Since'
$field = implode('-', $chunks); // Get If-Unmodified-Since HTTP field name
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With