Bonjour,

pour transmettre du texte par POST, j'ai besoin de remplacer les caractères "&" et "=" par d'autres qui ne viendront par mettre le bazar.

pour cela j'ai fait une fonction assez simple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var text = AjaxFormat("fs¤df& &cfss=gvf"); // exemple de texte
console.log(text);
 
return;
 
function AjaxFormat(str, codage) {
   if (codage == 'decode') {
      newstr = Remplace(str,'¤3','=');
      newstr = Remplace(str,'¤2','&');
      newstr = Remplace(str,'¤1','¤');
   } else {
      newstr = Remplace(str,'¤','¤1');
      newstr = Remplace(str,"&",'¤2');
      newstr = Remplace(str,'=','¤3');
   }
   return(newstr);
}
 
function Remplace(str,find,rep){
   var reg = new RegExp(find,"g");
   return(str.replace(reg,rep)); 
}
Je l'ai fait il y a quelque temps, je pensais l'avoir testé et que ça fonctionnais.
Là je viens de me rendre compte que ça ne marche pas ou plus.

Le caractère "=" est bien transformé mais les 2 autres non.

Mon fichier .js est en utf8.
Je pense que ça viens de là mais je ne trouve pas de solution pour faire ce remplacement.

A l'aide!!