PHP: Transformando em maiúscula a primeira letra de uma palavra

Olá pessoal! Entrando com mais um post bacana.

Uma função bem útil pra quem trabalha com formulários de cadastro, contendo nome, endereço etc.

Independente da forma como você grava os dados no banco, seja tudo minúsculo ou tudo maiúsculo, a função pega o valor passado e coloca, somente, a primeira letra em maiúsculo.

Colaboração: Reuryky B. Silva

<?
function primeiraLetraMaiuscula($nome){
    $nome_array = explode(" ", $nome);
    $count = 0;
    $indice = count($nome_array);
 
    while ($count < $indice) {
        $preposição = $nome_array[$count];
        if ($preposição == "da" or $preposição == "de" or $preposição == "do" or $preposição == "das" or $preposição == "dos"){
            $nome_array[$count] = $nome_array[$count];
        }else{
            $nome_array[$count] = ucfirst(strtolower($nome_array[$count]));
        }
        $count += 1;
    }
    $resultado = implode(" ",$nome_array);
    return $resultado;
}
$nome   = "linha de comando";
echo primeiraLetraMaiuscula($nome);
?>

Atualização:
Compartilho com vocês uma solução discutida no google groups “php-brasil”.

<?php
function capitalizeNomeProprio($nome){
   $partesNome = explode(" ", $nome);
   $exclude = array('da', 'das', 'de', 'do', 'dos', 'e');
   $nomeCapitalizado = '';
   foreach ($partesNome as $parte) {
     if (in_array(strtolower($parte), $exclude)) {
	$parte = strtolower($parte);
     } else {
	$parte = ucfirst($parte);
     }
     $nomeCapitalizado .= $parte . " ";
   }
   return trim($nomeCapitalizado);
}		
 
$nome = "linha de comando";	
echo capitalizeNomeProprio($nome);
?>

Resultado:
Linha de Comando

Seja você também um colaborador do linhadecomando.com

Até a próxima!

Um comentário em “PHP: Transformando em maiúscula a primeira letra de uma palavra

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *