Como todos sabem a função strtoupper é responsável para deixar todos os caracteres da STRING maiúsculo. Esta função esta adaptada para CHARSET UTF-8 (padrão inglês). O problema é quando surge alguns caracteres específicos do nosso idioma, por exemplo: ç, ã, á etc...
O jeito é recorrer para uma função adaptando estes caracteres via str_replace().
Solução:
function converteMaiusculo($string)
{
$string = strtoupper ($string);
$string = str_replace ("â", "Â", $string);
$string = str_replace ("á", "Á", $string);
$string = str_replace ("ã", "Ã", $string);
$string = str_replace ("à", "A", $string);
$string = str_replace ("ê", "Ê", $string);
$string = str_replace ("é", "É", $string);
$string = str_replace ("Î", "I", $string);
$string = str_replace ("í", "Í", $string);
$string = str_replace ("ó", "Ó", $string);
$string = str_replace ("õ", "Õ", $string);
$string = str_replace ("ô", "Ô", $string);
$string = str_replace ("ú", "Ú", $string);
$string = str_replace ("Û", "U", $string);
$string = str_replace ("ç", "Ç", $string);
return $string;
}
quinta-feira, 17 de março de 2011
Assinar:
Postar comentários (Atom)
Não precisa fazer essa parada aí...
ResponderExcluirÉ só você usar mb_strtotupper($string, 'UTF-8')
setlocale(LC_CTYPE, 'C'); // 'ptb', 'enu', 'ita', 'fra', 'esp' C = padrão PHP para strtoupper()
ResponderExcluirsó uma dica ;)
ResponderExcluirExistem inúmeras maneiras de fazer isso. rs.
ResponderExcluirMas obrigado.