mickaelpfr
Messages postés197Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 avril 2009
-
23 févr. 2006 à 09:30
mickaelpfr
Messages postés197Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 avril 2009
-
23 févr. 2006 à 18:29
Salut a tous , je bosse actuellement sur un chat en ajax/php et je suis confronté au problème des caractères spéciaux lors de l'envois par la méthode ajax.
je dois donc avant d'envoyer certain caractère comme le & le # ou encore le + les remplacer pour qu'il puissent etre transmis jusque la pas trop de souçis ( je ermet tout dans le contexte :) ).
la ou le bas blesse c'est que certain de ces caractères ne passe pas dans la fonction reg code source :
function pre_traitement(){
// récupération de la valeur du champs texte message = document.getElementById('lemessage').value; //traitement des caractère spéciaux
var avant = new Array("&","+","#");
var apres = new Array(":amp:",":plus:",":diese:");
// boucle tant qu'il y a des caratère spéciaux on traite la chaine
for (i =0; i<3; i++) {
message = Remplace(message,avant[i],apres[i]);
}
}
et la fonction de traitement :
function Remplace(str,find,rep){
var reg = new RegExp(find,"gi")
return(str.replace(reg,rep));
}
les caractères & et # aucun souçis mais le + me plante ainsi que le \ ( enevé du tableau ... )
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 23 févr. 2006 à 14:42
Facile, dans une chaine de caractères en javascript, les \\ sont tout de suite transformés en \, donc tu as un souci. Il faut donc doubler le double ^^
mickaelpfr
Messages postés197Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 avril 20092 23 févr. 2006 à 13:50
déja testé mais marche pas, réponse de firefox :
Erreur : invalid quantifier +
var message = "+ et la +"
var reg = new RegExp("\+","gi");
message = message.replace(reg,rep);