Bonjour,

Pour supprimer le codage des espaces, unescape() étant déprécié, il faut désormais utiliser decodeURI() ou decodeURIComponent()

Mais s'il y a des caractères accentués cette nouvelle fonction pose problème.

Je n'ai pas réussi à trouver comment "coder" la fonction replace !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
txt = txt.replace("%20"/g," ");
// Ne marche pas
Si vous pouvez me mettre sur une piste voire autre solution, je suis preneur !


Pour information encodeURIComponent() posant le même problème , j'ai trouvé la solution suivante pour l'opération inverse sur les URL, à savoir encoder les espaces par %20 par lorsque le texte contient des caractéres accentués.

Espérons que cette solution soit pérenne !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
// Pour formater un texte contenant des caractères accentués en URL, autrement que par
txt = encodeURIComponent(txt) 
// Utilisation de 
txt = txt.replace(/ /g,"%20");
// Pour remplacer uniquement les espaces éventuels sans toucher aux caractères accentués
Bien cordialement