Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1383 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [regexp] serialize unserialize transparent entre php et js :)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[regexp] serialize unserialize transparent entre php et js :)

n°535992
k666
dites non à petitmou
Posté le 10-10-2003 à 12:10:58  profilanswer
 

hello
je cherche a faire une fonction qui fasse de la serialisation d'objets à la php en js, et qui puisse aussi les désérialiser...
il faut que la syntaxe d'objet sérialisé soit identique...
les objets que je sérialiserai ne sont que des tableaux à clé basiques, du style:
 
tab["zob"] = "pouet"
 
ou tab[2] = 10;
 
ou tab["miam"] = 12.30;
 
 
par exemple avec ce code:
 
<?
$zob["macle"] = "va\"leur";
$zob["monchiffre"] = 21;
$zob["monfloat"] = 5.5;
 
echo serialize($zob);
?>
 
 
 
j'obtiens ça:
 
a:3:{s:5:"macle";s:7:"va"leur";s:10:"monchiffre";i:21;s:8:"monfloat";d:5.5;}
 
 
 
 
j'aimerais appliquer une regexp pour désérialiser le tout simplememnt;
 
si vous avez une idée ou un ptit coup de main ?

mood
Publicité
Posté le 10-10-2003 à 12:10:58  profilanswer
 

n°536139
k666
dites non à petitmou
Posté le 10-10-2003 à 14:33:09  profilanswer
 

up

n°536206
youdontcar​e
Posté le 10-10-2003 à 15:23:50  profilanswer
 

k666 a écrit :

j'aimerais appliquer une regexp pour désérialiser le tout simplememnt;

Pourquoi donc ? En js2, uneval() se charge de faire ce que tu veux. Le but est donc de filer la chaîne de sortie à eval() pour qu'il ressorte un objet.  
 
Pour coder uneval(), tu boucles sur tes propriétés (for ... in), tu créés une chaîne qui représente un objet littéral (comme tu as mis), et hop !
 
eg
 
var str = '';
function uneval(obj)
{
  str += '{';
  for (i in obj)
  {
    if (typeof(obj[i]) == 'number' || typeof(obj[i]) == 'string')
      str += i + ':' + obj[i];
    else
      str += i + uneval(obj[i]);
  }
  str += '}';
}
 
(non testé)

n°536209
youdontcar​e
Posté le 10-10-2003 à 15:25:37  profilanswer
 

Effectivement, j'ai même oublié les virgules :D
 
pour ton zob, ça donnerait :
{
  macle : "va\"leur",
  monchiffre : 21,
  monfloat : 5.5
}
 

n°536386
k666
dites non à petitmou
Posté le 10-10-2003 à 17:09:22  profilanswer
 

merci bieng youdontcare :) je vais me pencher sur ta méthode pour essayer de m'en tenir parfaitement à la syntaxe de php !
en effet on veut faire le plus transparent possible pour travailler serverside ou clientside et c pour ca qu'on fait des trucs tordus comme ca ... mais vu que php est plus lourd a modifier on prefere que JS s'adapte a lui que l'inverse !
merci pour ton codax :) je l'intègrerai et pondrai la version finale:jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [regexp] serialize unserialize transparent entre php et js :)

 

Sujets relatifs
Rafraichissement automatique et "transparent" d'une page web ?[swing] mission impossible : fond transparent dans une JFrame
Problème avec les regexp...[php] petites interrogations sur (un)serialize
afficher une image avec un fond transparent par dessus un objet multi-[JS] Probleme de RegExp
Serialize + Split[Perl] Petite regexp
Impossible d'afficher un bitmap transparent dans un DC memoire... 
Plus de sujets relatifs à : [regexp] serialize unserialize transparent entre php et js :)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR