Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, pessoal.
Estou estudando funções em php, fiz recentemente esta função pra para transforma todos os caracteres em maiúsculos. Mas não sei o que está dando errado, alguém poderia me ajudar?
<?php
function maiusculo($string){
$string = strtoupper($string);
$string = str_replace("á", "Á", $string);
$string = str_replace("é", "É", $string);
$string = str_replace("í", "Í", $string);
$string = str_replace("ó", "Ó", $string);
$string = str_replace("ú", "Ú", $string);
$string = str_replace("â", "Â", $string);
$string = str_replace("ê", "Ê", $string);
$string = str_replace("î", "Î", $string);
$string = str_replace("ô", "Ô", $string);
$string = str_replace("û", "Û", $string);
$string = str_replace("ã", "Ã", $string);
$string = str_replace("õ", "Õ", $string);
$string = str_replace("ç", "Ç", $string);
$string = str_replace("à", "À", $string);
return $string;
}
$nome = "Rodrigo Lourenço da Silva";
$nome_mai = maiusculo($nome);
echo "O nome é: $nome_mai";
?>
O Resultado que obtenho é: "RODRIGO LOURENçO DA SILVA".
É pq o "strtoupper" só deixa maiúsculas os caracteres simples. Os ç, á, ê, não funciona.
>
É pq o "strtoupper" só deixa maiúsculas os caracteres simples. Os ç, á, ê, não funciona.
Rodrigo, acho que você está equivocado.
Teste:
<?php
echo strtoupper("testando para maiúsculo muito engraçado ê, é â");
echo strtolower("TESTANDO PARA MINÚSCULO MUITO ENGRAÇADO Ê, É Â");
?>
At+
testa ae,
pode ser a sua codificação de caracteres ou então a fonte que você está usando.
header("Content-Type: text/html; charset=ISO-8859-1",true);
$nome = "Rodrígo Lourênço da Silvá";
echo strtoupper($nome);Era exatamente a minha codificação de caractere. Muito obrigado.
pq não usa função nativa:
echo strtolower("TEXTO"); //deixa minusculo
echo strtoupper("texto"); //deixa maiusculo