SAM a écrit :
> Résumé depuis f.c.l.php :
>
> ======== Etienne SOBOLE a écrit :
> >
> > Ça donne :
> >
> > var expr = /(null,)+/
> > var tRes = expr.exec(sDossier);
> > while (tRes)
> > {
> > var sDossier = sDossier.replace(expr,
> "@N" + (tRes[0].length / tRes[1].length) + "@");
> > var tRes = expr.exec(sDossier);
> > }
> >
> > et ca remplace une liste de null, par @Nx@
> > où x est le nombre de "null," consécutifs trouvés !
Avec les exemples d'Olivier ce n'est pas au top :
<script type="text/javascript">
$a = '[null,null,null,null,null]';
$b = '[a,null,b,null,null,c,null,d]';
$c = '[nullard,annulle,null,tronull,"null",null,nul]';
function dorepnull(sDossier) {
var expr = /(null,)+/;
var tRes = expr.exec(sDossier);
while (tRes)
{
var sDossier = sDossier.replace(expr,
"@N" + (tRes[0].length / tRes[1].length) + "@"
);
var tRes = expr.exec(sDossier);
}
return sDossier;
}
document.write('$a = '+ dorepnull($a) + '<br>');
document.write('$b = '+ dorepnull($b) + '<br>');
document.write('$c = '+ dorepnull($c) + '<br>');
</script>
Donne :
$a = [@N4@null]
$b = [a,@N1@b,@N2@c,@N1@d]
$c = [nullard,annulle,@N1@tro@N1@"null",@N1@nul]
et le dernier 'null' n'est pas autopsié.
Mais sans doute json n'allonge jamais inutilement les sérialisations ?
--
sm