Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Williams Duarte

Funções que corrige acentos

Recommended Posts

Galera sei que ajuda muito no dia a dia com aquelas palavras acentuadas que o strtolower ou strtoupper não resolve quando queremos tratar uma string para maiuscula ou minuscula e as palavras acentuadas não acompanha

 

 

Função que transforma um string para letras maiúsculas (incluindo caracteres acentuados)

<?php

// Autor: Juliano Niederauer

   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 ("Î", "I", $string);
	 $string = str_replace ("Û", "U", $string);
	 $string = str_replace ("ã", "Ã", $string);
	 $string = str_replace ("õ", "Õ", $string);
	 $string = str_replace ("ç", "Ç", $string);
	 $string = str_replace ("à", "A", $string);

   return $string;
   }

?>

Função que transforma um string para letras minusculas (incluindo caracteres acentuados)

<?php
   function minusculo($string) {

	 $string = strtolower ($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 ("Î","i", $string);
	 $string = str_replace ("Û","u", $string);
	 $string = str_replace ("Ã","ã", $string);
	 $string = str_replace ("Õ","õ", $string);
	 $string = str_replace ("Ç","ç", $string);
	 $string = str_replace ("À","à", $string);

   return $string;
   }

?>
Se alguem puder acrescentar mais caracteres fique a vontade

 

Abraços!!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode fazer a chamada a str_replace apenas uma vez

 

exemplo:

 

$str = 'Água';

	$strF = array('Á','É'); 
	$strT = array('á','é'); 
	echo str_replace( $strF, $strT, strtolower( $str ) );

 

ou algo simplificado usando funções da lib "mb_string"

 

<?php
$str = 'Água';

mb_internal_encoding("UTF-8");

echo mb_strtolower( $str );
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.