1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| // Fonction de création de l'URL en live
// Si vous avez des idées d'améliorations, n'hésitez pas :)
$("#title").bind("keyup", function() {
var title = $(this).val(); // Récupération titre
var url = title;
url = url.toLowerCase(); // URL en minuscule
url = url.replace(/[àáâãäå]/g,"a").replace(/[èéêë]/g,"e").replace(/[ìíîï]/g,"i").replace(/[ðòóôõö]/g,"o").replace(/[ùúûü]/g,"u").replace(/[ýÿ]/g,"y").replace(/[ç]/g,"c").replace(/\W+/g, '-'); // Remplace accents par non accentués, et caractères non alphanumeriques par tiret
var posLastTiret = url.lastIndexOf("-", url.length-1); // position dernier tiret
// Si dernier caractère est tiret, on supprime
// Cas rencontré si titre termine par caractère non alphanumérique, tiret remplaçant espace
// Exemple : "Ma chaine !"
if(url.length == posLastTiret+1) {
url = url.substring(0, posLastTiret);
}
// Si longueur url > 32, on coupe au dernier mot entier
if(url.length > 32) {
var urlSplit = url.split("-");
var nb_mots = urlSplit.length;
url = url.substring(0, nb_mots);
return false;
}
// Affiche dans champs url
$("#url").val(url);
return false;
}); |
Partager