- preg_replace_callback: documentation ( source)
- str_replace: documentation ( source)
- explode: documentation ( source)
- strtoupper: documentation ( source)
<?php
$sentence = str_replace("{","", $sentence);
$sentence = str_replace("}","", $sentence);
$sentence_iter = explode("|", $sentence);
$key_upper = "{";
for ($iMatch = 0; iMatch < count($sentence_iter); ++$iMatch)
{
$key_upper = $key_upper ."|". preg_replace_callback('/(?<=\s|^)[a-z]/', function($match) {
return strtoupper($match[0]);
}, $sentence_iter[$iMatch]);
}
$key_upper .= "}";
$key_upper = str_replace("{|", "{", $key_upper);
echo $key_upper;