Eu criei esta função em Javascript para conseguir converter uma string para criar uma friendly url. Para converter a primeiro passo foi transformar a string para letras minúsculas (lowercase) usando a função js toLowerCase(). Depois fiz a troca dos caracteres especiais (special chars) usando a função replace indicando seus correspondentes sem acentos.
/**
* Converte String para formato URL
* @author marcelo.korjenioski - korjenioski@gmail.com
* @param str
* @returns
*/
function strToURL(str) {
return str.toLowerCase().trim()
.replace(/[áàãâä]/g, "a")
.replace(/[éèẽêë]/g, "e")
.replace(/[íìĩîï]/g, "i")
.replace(/[óòõôö]/g, "o")
.replace(/[úùũûü]/g, "u")
.replace(/ç/g, "c")
.replace(/(\ |_)+/, " ")
.replace(/(^-+|-+$)/, "")
.replace(/[^a-z0-9]+/g,'-');
}
str = strToURL('A união das nações é a salvação');
alert(str);
Caso tenha alguma duvida deixe um comentário que terei prazer em ajudar.
Comentários são bem vindos assim posso melhorar a qualidade dos tutoriais aqui apresentados.