11528 sujets
JavaScript, DOM et API Web HTML5
Et l'eau,
Pour mon routing, j'ai construis un slugify. À toi de faire un changemet pour que ça te convienne.
Pour mon routing, j'ai construis un slugify. À toi de faire un changemet pour que ça te convienne.
function slugify(string) {
const a = 'àáâäæãå???ç????èéêë???????îïí??ì??ñ???ôöòóœø?õ????ß?š????ûüùú???????ÿýž??·/_,:;'
const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------'
const p = new RegExp(a.split('').join('|'), 'g')
return string.toString().toLowerCase()
.replace(/\s+/g, '-') // Replace spaces with -
.replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters
.replace(/&/g, '-and-') // Replace & with 'and'
.replace(/[^[a-zA-Z0-9?-?]-]+/g, "") // Arabic support
.replace(/--+/g, '-') // Replace multiple - with single -
.replace(/^-+/, '') // Trim - from start of text
.replace(/-+$/, '') // Trim - from end of text
}
Bonjour,
Euuuh...
Mais bon, par rapport à ce script, je préfère ma méthode plus courte...
Remarque : Les points d'interrogation dans le code, c'est le forum qui les a mis à la place d'autres caractères qu'il ne connaissait pas ?
Mais merci quand même !
Modifié par js_html (25 Mar 2021 - 13:17)
Euuuh...
a écrit :C'est du français ça ? Car je ne comprends rien...
Pour mon routing, j'ai construis un slugify.
Mais bon, par rapport à ce script, je préfère ma méthode plus courte...
Remarque : Les points d'interrogation dans le code, c'est le forum qui les a mis à la place d'autres caractères qu'il ne connaissait pas ?
Mais merci quand même !
Modifié par js_html (25 Mar 2021 - 13:17)
Merci à toi ... et à Niuxe.
slugify n'est pas français, certes, mais c'est utile de savoir comment le reste du monde appelle une fonctionnalité ... Ça aide dans les recherches. Comment dirait-on en français ?
Je pense qu'il est difficile de faire court. Par exemple, voici la table de correspondance des caractères du framework php codigniter 3 pour remplacer des caractères spéciaux: y a du monde aussi.
Modifié par loicbcn (25 Mar 2021 - 14:55)
slugify n'est pas français, certes, mais c'est utile de savoir comment le reste du monde appelle une fonctionnalité ... Ça aide dans les recherches. Comment dirait-on en français ?
Je pense qu'il est difficile de faire court. Par exemple, voici la table de correspondance des caractères du framework php codigniter 3 pour remplacer des caractères spéciaux: y a du monde aussi.
$foreign_characters = array(
'/ä|æ|?/' => 'ae',
'/ö|œ/' => 'oe',
'/ü/' => 'ue',
'/Ä/' => 'Ae',
'/Ü/' => 'Ue',
'/Ö/' => 'Oe',
'/À|Á|Â|Ã|Ä|Å|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'A',
'/à|á|â|ã|å|?|?|?|?|?|ª|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'a',
'/?/' => 'B',
'/?/' => 'b',
'/Ç|?|?|?|?/' => 'C',
'/ç|?|?|?|?/' => 'c',
'/?/' => 'D',
'/?/' => 'd',
'/Ð|?|?|?/' => 'Dj',
'/ð|?|?|?/' => 'dj',
'/È|É|Ê|Ë|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'E',
'/è|é|ê|ë|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'e',
'/?/' => 'F',
'/?/' => 'f',
'/?|?|?|?|?|?|?/' => 'G',
'/?|?|?|?|?|?|?/' => 'g',
'/?|?/' => 'H',
'/?|?/' => 'h',
'/Ì|Í|Î|Ï|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'I',
'/ì|í|î|ï|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'i',
'/?/' => 'J',
'/?/' => 'j',
'/?|?|?/' => 'K',
'/?|?|?/' => 'k',
'/?|?|?|?|?|?|?/' => 'L',
'/?|?|?|?|?|?|?/' => 'l',
'/?/' => 'M',
'/?/' => 'm',
'/Ñ|?|?|?|?|?/' => 'N',
'/ñ|?|?|?|?|?|?/' => 'n',
'/Ò|Ó|Ô|Õ|?|?|?|?|?|Ø|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'O',
'/ò|ó|ô|õ|?|?|?|?|?|ø|?|º|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'o',
'/?/' => 'P',
'/?/' => 'p',
'/?|?|?|?|?/' => 'R',
'/?|?|?|?|?/' => 'r',
'/?|?|?|?|Š|?|?/' => 'S',
'/?|?|?|?|š|?|?|?|?/' => 's',
'/?|?|?|?|?|?/' => 'T',
'/?|?|?|?|?/' => 't',
'/Þ|þ/' => 'th',
'/Ù|Ú|Û|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'U',
'/ù|ú|û|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'u',
'/Ý|Ÿ|?|?|?|?|?|?|?|?|?/' => 'Y',
'/ý|ÿ|?|?|?|?|?|?/' => 'y',
'/?/' => 'V',
'/?/' => 'v',
'/?/' => 'W',
'/?/' => 'w',
'/?|?|Ž|?|?/' => 'Z',
'/?|?|ž|?|?/' => 'z',
'/Æ|?/' => 'AE',
'/ß/' => 'ss',
'/?/' => 'IJ',
'/?/' => 'ij',
'/Œ/' => 'OE',
'/ƒ/' => 'f',
'/?/' => 'ks',
'/?/' => 'p',
'/?/' => 'v',
'/?/' => 'm',
'/?/' => 'ps',
'/?/' => 'Yo',
'/?/' => 'yo',
'/?/' => 'Ye',
'/?/' => 'ye',
'/?/' => 'Yi',
'/?/' => 'Zh',
'/?/' => 'zh',
'/?/' => 'Kh',
'/?/' => 'kh',
'/?/' => 'Ts',
'/?/' => 'ts',
'/?/' => 'Ch',
'/?/' => 'ch',
'/?/' => 'Sh',
'/?/' => 'sh',
'/?/' => 'Shch',
'/?/' => 'shch',
'/?|?|?|?/' => '',
'/?/' => 'Yu',
'/?/' => 'yu',
'/?/' => 'Ya',
'/?/' => 'ya'
);
Modifié par loicbcn (25 Mar 2021 - 14:55)
Ah oui, c'est le forum qui ne sait pas retranscrire certains caractères. Je n'avais pas remarqué.
Dans mont éditeur de texte j'ai ça:
et dans le forum, ça donne ça:
'/Ò|Ó|Ô|Õ|?|?|?|?|?|Ø|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'O',
'/ò|ó|ô|õ|?|?|?|?|?|ø|?|º|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'o',
Etonnant non ?????
Modifié par loicbcn (26 Mar 2021 - 08:33)
Dans mont éditeur de texte j'ai ça:
et dans le forum, ça donne ça:
'/Ò|Ó|Ô|Õ|?|?|?|?|?|Ø|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'O',
'/ò|ó|ô|õ|?|?|?|?|?|ø|?|º|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?|?/' => 'o',
Etonnant non ?????
Modifié par loicbcn (26 Mar 2021 - 08:33)