- array_reduce: documentation ( source)
- strtoupper: documentation ( source)
- preg_split: documentation ( source)
- strtolower: documentation ( source)
- ucfirst: documentation ( source)
<?php
/*
function clean_string($string)
{
$parts = preg_split('/\s+/', $string);
$partsCount = count($parts);
for ($i = 0; $i < $partsCount; $i++) {
if ($parts[$i] === strtoupper($parts[$i])) {
$parts[$i] = ucfirst(strtolower($parts[$i]));
}
}
return implode(' ', $parts);
}
*/
//or shorter:)
function cleanString($string){
return array_reduce(preg_split('/\s+/', $string), function ($carry, $item){
return $carry . ' '. (($item === strtoupper($item)) ? ucfirst(strtolower($item)) : $item);
});
}
echo cleanString('INTERVIEW – Jo Stenuit, Belgisch designdirecteur Mazda Motor Europe');