
crokidakis14
(usa Debian)
Enviado em 27/10/2007 - 15:29h
Olá colegas,
Estava querendo uma função para colocar a primeira letra de uma palavra maiúscula e o resto minúscula. Então, juntando as vossas dicas cheguei a esta função abaixo:
function str_to_upper_lower($str)
{
// limpa a variavel de retorno
$str_retorno = '';
// separa $str em $word
$word = explode(" ", $str);
// total de $word de $str
$total_word = count($word);
// inicializa o primeiro $word de $str
$ind_word = 0;
foreach ($word as $w)
{
// inicializa o primeiro $chr de $word
$ind_chr = 0;
// separa $word em $chr
$chr = str_split($w, 1);
foreach ($chr as $c)
{
// se for o primeiro $chr, converte para maiusculo
if($ind_chr == 0) $str_retorno .= strtoupper($c);
// senao, converte para minusculo
else $str_retorno .= strtolower($c);
$ind_chr++;
}
// se nao for o ultimo $word, adciona espaco em branco
if($ind_word <> $total_word - 1) $str_retorno .= " ";
$ind_word++;
}
return $str_retorno;
}
Quem puder simplificar mais seria melhor ainda, né?
Abraços e até +
Roberto