• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

-IceBurn-

[PHP]function RetirarAcentos();

15 mensagens neste tópico

Deixo aqui uma função que criei para um script que fiz, mas que tenho utilizado algumas vezes já depois disso.

A sua função é retirar a acentuação e as cedilhas das palavras e retomar a palavra já modificada.

Assim aqui fica, até pode ser que seja útil a alguem :)

<?php
function RetirarAcentos($frase) {
$frase = str_replace(array("à","á","â","ã","ä","è","é","ê","ë","ì","í","î","ï","ò","ó","ô","õ","ö","ù","ú","û","ü","À","Á","Â","Ã","Ä","È","É","Ê","Ë", "Ì","Í","Î","Ò","Ó","Ô","Õ","Ö","Ù","Ú","Û","Ü","ç","Ç","ñ","Ñ"),
						  array("a","a","a","a","a","e","e","e","e","i","i","i","i","o","o","o","o","o","u","u","u","u","A","A","A","A","A","E","E","E","E","I","I","I","O","O","O","O","O","U","U","U","U","c","C","n","N"), $frase);

return $frase;						  
}

// Utilização
echo RetirarAcentos("Esta é uma frase com acentuação. Será mesmo...?? É que nós não queremos acentuação!...");

?>

Editado por Rui Carlos
Adicionadas tags code.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uh... só a trabalheira que tiveste a colorir a sintaxe... é para isso que serve o Geshi!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uh... só a trabalheira que tiveste a colorir a sintaxe... é para isso que serve o Geshi!

:eek:, realmente! Para a próxima já sabes, usas o GeSHi. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim eu sei. O problema é que as palavras com acentuação não apareciam correctamente utilizando o GeSHi, por isso tive que improvisar.    :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu estou a usar isso mesmo para o Pitez :) Mas foi uma construida por mim ;) Keep the good work m8 :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu estou isso mesmo para o Pitez :) Mas foi uma construida por mim :D Keep the good work m8 :D

Esqueceste-te de pôr aí umas palavras ;)
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim eu sei. O problema é que as palavras com acentuação não apareciam correctamente utilizando o GeSHi, por isso tive que improvisar.    :)

Talvez o [ php] não atrofiásse como o [ code=php] atrofia ;)
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu estou isso mesmo para o Pitez :P Mas foi uma construida por mim :) Keep the good work m8 :)

Esqueceste-te de pôr aí umas palavras :P

Corrected :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depois de umas pesquisas (nada relacionadas com isso) pelo manual online do PHP, encontrei este snippet que faz isso tudo numa linha de código ( ;) ):

$text = iconv('UTF-8', 'US-ASCII//TRANSLIT', $text);

Usa a extensão "iconv", que penso estar instalada na maioria dos hosts minimamente decentes. Eu usei "UTF-8" no primeiro parâmetro, tem de ser o character encoding do texto de origem, poderão ter de usar outra coisa (ISO-8859-1, talvez).

Não testei muito, mas parece funcionar bem!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

há forma de substituir um enter para dar paragrafo por um codigo <br>?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

há forma de substituir um enter para dar paragrafo por um codigo <br>?

O tópico não foi o mais indicado para colocar essa dúvida mas já tentas-te nl2br() ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu falava usando o script RetirarAcentos...

Mas obrigado ;)

Sem querer armar-me em "xico esperto", o script chama-se "RetirarAcentos", não "RetirarAcentosEConverterNewLineParaBR"...! De qualquer forma, segue a sugestão do Quickfire, ou algo tipo isto:

$texto = str_replace(array("\r\n", "\r", "\n"), '<br />', $texto);

suponho que deve dar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Adicionado à: [wiki=PHP:Retirar acentos]Wiki[/wiki]

Pena que fica um pedacinho "feio", dava jeito um wrappingzinho naquele texto... Não dará para fazer qualquer coisa quanto a isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora