Jump to content


Photo

Substituir Caracteres Especiais E Remover Acentos Com Er


  • Faça o login para participar
8 replies to this topic

#1 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 16/05/2008, 19:32

Estou tentando remover caracteres especiais e acentos do nome de arquivos, existem arquivos com nomes do tipo

planta (caule).doc
planta (funções motoras).pps
distúrbios da circulação.ppt
2º avaliação.doc

E por mais que eu utilize as diversas formas de remover caracteres eu não consigo TROCAR os acentuados por seus respectivos sem acento utilizando a função que o PR publicou ele até remove mas não consegui substituir pelo equivalente não acentuado ficando assim

planta_caule.doc
planta-funes-motoras.pps
distrbios-da-circulao.ppt
2º-avaliao.doc

Alguém sabe como fazer para substituir usando ER?

OBS.: Nem mesmo str_replace consegue substituir algum caractere aqui sempre passa os acentos sem substituir.


Falopa!

Edição feita por: hostdesigner, 16/05/2008, 19:36.


#2 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 16/05/2008, 20:09

E essa outra mais simples do PR?:
http://forum.wmonlin...howtopic=121401
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#3 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 17/05/2008, 12:24

Olá..
Juntei as duas funções...

<?
function cleanURI($input)
{
	return ereg_replace(
		'[^a-z0-9-]',
		'', 
		ereg_replace(
			' +',
			'-',
			strtr(
				strtolower(html_entity_decode($input)), 
				'ÀÁÃÂÉÊÍÓÕÔÚÜÇàáãâéêíóõôúüç', 
				'AAAAEEIOOOUUCaaaaeeiooouuc'
			)
		)
	);
}

print cleanURI('Exemplo de utilização');
?>

http://forum.wmonlin...howtopic=121401
http://forum.wmonlin...&...st&p=867427

Créditos: Paulo Ricardo.

Funcionou certinho..

Até mais ^_^

Edição feita por: _Dudu_1533, 17/05/2008, 12:26.

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#4 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/05/2008, 12:33

Aqui continua do mesmo jeito, substituindo a palavra

agência pública nacional

para

agncia pblica nacional

O que preciso é substituir as letras acentuadas ficando assim

agencia publica nacional

Seria mais ou menos remover o acento...

Falopa!

#5 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 17/05/2008, 17:56

a do PR funciona sim, eu tenho uma que contribui tambem lá. Tenta ver a codificação da string tambem antes de passar p/ função.


[]'s

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#6 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/05/2008, 22:28

Rapaz eu imagino que seja a codificação, mas, ainda não sei como identificar a codificação de uma string como faz isso? Eu tinha tentado anteriormente utilizar utf8_encode e também utf8_decode mesmo assim não consegui sempre remove o caractere acentuado e ainda por cima fica cheio daqueles caracteres extranhos...


Falopa!

#7 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 17/05/2008, 23:04

Tenta assim:

strtr(utf8_decode($input),'ÀÁÃÂÉÊÍÓÕÔÚÜÇàáãâéêíóõôúüç','AAAAEEIOOOUUCaaaaeeiooouuc');

OU

strtr(htmlentities(utf8_decode($input)),'ÀÁÃÂÉÊÍÓÕÔÚÜÇàáãâéêíóõôúüç','AAAAEEIOOOUUCaaaaeeiooouuc');

Edição feita por: lwirkk, 17/05/2008, 23:06.

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#8 Cristiano Mendes

Cristiano Mendes

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Masculino
  • Localidade:Sul

Posted 22/03/2012, 17:24

muito bom eu estava precisando disso
(y) :lol:

Edição feita por: Cristiano Mendes, 22/03/2012, 17:25.


#9 d1eg0.

d1eg0.

    Normal

  • Usuários
  • 63 posts
  • Sexo:Masculino

Posted 30/03/2012, 17:33

Mesmo se jah estiver resolvido se alguem precisar tem uma função que faz a troca
function substitui($campo) {
                $campo = str_replace("á", "&aacute;", $campo);
                $campo = str_replace("Á", "&Aacute;", $campo);
                $campo = str_replace("é", "&eacute;", $campo);
                $campo = str_replace("É", "&Eacute;", $campo);
                $campo = str_replace("í", "&iacute;", $campo);
                $campo = str_replace("Í", "&Iacute;", $campo);
                $campo = str_replace("ó", "&oacute;", $campo);
                $campo = str_replace("Ó", "&Oacute;", $campo);
                $campo = str_replace("ú", "&uacute;", $campo);
                $campo = str_replace("Ú", "&Uacute;", $campo);
                $campo = str_replace("ã", "&atilde;", $campo);
                $campo = str_replace("Ã", "&Atilde;", $campo);
                $campo = str_replace("õ", "&otilde;", $campo);
                $campo = str_replace("Õ", "&Otilde;", $campo);
                $campo = str_replace("â", "&acirc;", $campo);
                $campo = str_replace("Â", "&Acirc;", $campo);
                $campo = str_replace("ê", "&ecirc;", $campo);
                $campo = str_replace("Ê", "&Ecirc;", $campo);
                $campo = str_replace("ô", "&ocirc;", $campo);
                $campo = str_replace("Ô", "&Ocirc;", $campo);
                $campo = str_replace("ç", "&ccedil;", $campo);
                $campo = str_replace("Ç", "&Ccedil;", $campo);
				$campo = str_replace("Ì", "&Igrave;", $campo);
				$campo = str_replace("ì", "&icirc;", $campo);
               	$campo = str_replace('º','&deg;',$campo);
				$campo = str_replace('à','&agrave;',$campo);
				$campo = str_replace("°","&ordm;",$campo);
				
                return $campo;
        }





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq