Ontem, precisei de uma função em javascript pra tirar acentos e caracteres especiais de textos, tipo essa que o wordpress faz quando vamos criar um novo post.
O problema não era só trocar os caracteres especiais por traços, e sim trocar as letras acentuadas pelas respectivas sem acentos. Acabei achando nesse blog o que eu precisava pra fazer essa parte.
O resto foi com expressões regulares.
A função ficou assim:
function limpar(texto)
{
texto = texto.replace(/^\s+|\s+$/g, "");//tira espaços do inicio e do fim
texto = texto.replace(/\s{2,}/g, " ");//tira espaços duplicados
replacements = {
"[áãàäâª]": "a",
"[éèëê]": "e",
"[íìï]": "i",
"[óòôõö]": "o",
"[ùúûü]": "u",
"[ç]": "c"
};
regex = {};
for (key in replacements) {
regex[key] = new RegExp(key, 'g');
}
for(key in replacements){
texto = texto.replace(regex[key], replacements[key]);//tira caracteres acentuados
}
texto = texto.replace(/[^A-Za-z0-9]/g, "-");//tira caracteres especiais
texto = texto.toLowerCase();//coloca em minusculo
return texto;
}
Nenhum comentário:
Postar um comentário