Sowas?
PHP-Code:
<?php
$string = "Das ist ein TEST";
$string = preg_replace_callback("/([A-Z]+?)/sm", "make_cap", $string);
function make_cap($args)
{
$text = strtolower($args[1]);
$text = strtoupper($text[0]).implode("", array_splice($text, 1));
return $text;
}
?>
Hab das jetzt allerdings nicht getestet, sollte aber das tun, was du willst.
//Edit:
Das sollte auch gehen
PHP-Code:
<?php
$string = "Das ist ein TEST";
$string = preg_replace_callback("/([A-Z]+?)/sm", "make_cap", $string);
function make_cap($args)
{
return ucwords($args[1]);
}
?>