Algorithe remplacement de caracteres

Contenu du snippet

kan on affiche du texte html dans du flash, mélangé avec du texte "normal",
qu'on fait transiter ca par des formulaires, des fichiers xml, et qu'on enregistre le tout dans une base de données...
(pffiou pour quoi faire tout ça!!!!!)il y'a des bugs pa possibles à tous les niveaux, notamment, a cause des
        • CARACTERES SPECIAUX****!!!!!!!!!!!!


j'ai essayé les fonctions escape et unescape, mais vu le nombre de regles et de caracteres réservés, en xml, dans la base mysql, en html... j'ai fini par programmer ces foncions d'encodage et de décodage de texte, avec des codes personnalisés.
pour ceux que ça intéresse:

Source / Exemple :


//*****************************************************************************

//ici les couples de caracteres-codes, a remplir au choix

_global.mychars=new Array();
mychars.push({disp:"_",code:"code1"});
mychars.push({disp:"&",code:"code2"});
mychars.push({disp:"<",code:"code3"});
mychars.push({disp:">",code:"code4"});

//encodage

encode=function(string){
	c=0;
	while(mychars[c] ne undefined){
		disp=mychars[c].disp;
		code=mychars[c].code;
		newstring=new String();
		while((index=string.indexOf(disp))>-1){
			string=substring(string,0,index)+code+substring(string,index+length(disp)+1,length(string)-index-length(disp));
		}
		c++;
	}
	return (string);
}

//decodage
decode=function(string){
	c=0;
	while(mychars[c] ne undefined){
		disp=mychars[c].disp;
		code=mychars[c].code;
		newstring=new String();
		while((index=string.indexOf(code))>-1){
			string=substring(string,0,index)+disp+substring(string,index+length(code)+1,length(string)-index-length(code));
		}
		c++;
	}
	return (string);
}

//***********************************
// maintenant on teste

#trace(encode("m&ms_yuup!"));

donne> mcode2mscode1yuup!

#trace(decode(encode("m&ms_yuup!")));
donne evidemment > m&ms_yuup!

remarquez qu'il vaut mieux utiliser des codes qu'on risque pas de trouver dans un texte normal

Conclusion :


POur aller plus loin,
notez qu'on peut mettre des textes de la longueur qu'on veut, et pas seulement les & , - et compagnie

cet algorithme pourrait servir à remplacer des mots par d'autres,
utile pour la "sensure" dans les forums, ou pour faire un traducteur rudimentaire...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.