Bonjour à tous :D,
Je souhaite utiliser une fonction qui supprime tout les caractères dérangeants d'une chaine et remplacer les espaces et apostrophes par des _.
Pour le moment, j'utilise des jolies fonctions que j'ai trouvé de ci de la, le tout en javascript (je n'ai pas le droit à un autre langage)
Code:
1
2
3
4
5
6
7
8
9
10 function preg_replace (array_pattern, array_pattern_replace, my_string) { var new_string = String (my_string); for (i=0; i<array_pattern.length; i++) { var reg_exp= RegExp(array_pattern[i], "gi"); var val_to_replace = array_pattern_replace[i]; new_string = new_string.replace (reg_exp, val_to_replace); } return new_string; }
J'obtiens une chaîne propre avec ces fonctions:ccool:. Cependant, sous google chrome lors de l'alerte à la fin de la fonction systemString(), j'ai une chaîne qui contient des accents. Je ne comprends pas pourquoi.:cry:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function systemString (my_string) { my_string = String(my_string); var new_string = ""; var pattern_accent = new Array("é", "è", "ê", "ë", "ç", "à", "â", "ä", "î", "ï", "ù", "ô", "ó", "ö"); var pattern_replace_accent = new Array("e", "e", "e", "e", "c", "a", "a", "a", "i", "i", "u", "o", "o", "o"); if (my_string && my_string!= "") { new_string = preg_replace (pattern_accent, pattern_replace_accent, my_string); } new_string = new_string.replace(/ /g,'_'); new_string = new_string.replace(/'/g,'_'); new_string = new_string.toLowerCase(); alert(new_string); return new_string; }
Sous Firefox et IE aucun problème...