Hoje vou mostrar um código bem simples de uma função que eu criei para remover acentos de uma string…
Essa função é muito útil quando queremos trabalhar com URLs amigáveis e precisamos passar o slug (versão sem acento, espaço e caracteres especiais de uma string) para uma URL.
Veja como é simples usar a função:
O segundo parâmetro da função é o caractere que será usado no slug substituindo espaços e caracteres especiais.
Vamos ao código da função:
Como vocês podem ver, no começo da função, entre as linhas 9 e 21 é onde definimos os códigos ASCII de cada acento/caractere especial que será convertido por sua letra… Depois nós rodamos um foreach e montamos as ERs (expressões regulares) para a substituição e fazemos toda a troca.
A vantagem de usar o código ASCII de cada caractere é que não importa em qual codificação seu arquivo está salvo, ela vai funcionar!
Caso você queira fazer a substituição em strings com mais de uma linha você precisa trocar onde tem “/i” por “/mi” nas linhas 26, 34 e 36.
Espero que tenham gostado! :)
Update: Se a sua string estiver codificada em UTF-8 você precisa usar a utf8_decode() antes de passar a string pra função.