Tout à fait, je corrige donc mon post pour ne pas laisser du code dangereux.
Note : si la donnée d'entrée peut contenir O: à l'intérieur de chaînes par exemple, un système d'échappement peut être mis en place :
Côté JavaScript : remplacer tous les \ par \\ puis remplacer O: par O\: dans les chaînes.
Côté PHP : remplacer O\: par O: puis \\ par \ dans les chaînes.
Mais effectivement json_encode et json_decode sont bien plus adaptées et sortent un chaîne plus compacte.
Par contre, utiliser JSON n'empêche pas de devoir contrôler les données délinéarisées car là aussi, le résultat si l'utilisateur met n'importe quoi peut être pas très heureux.
Note : si la donnée d'entrée peut contenir O: à l'intérieur de chaînes par exemple, un système d'échappement peut être mis en place :
Côté JavaScript : remplacer tous les \ par \\ puis remplacer O: par O\: dans les chaînes.
Côté PHP : remplacer O\: par O: puis \\ par \ dans les chaînes.
Mais effectivement json_encode et json_decode sont bien plus adaptées et sortent un chaîne plus compacte.
Par contre, utiliser JSON n'empêche pas de devoir contrôler les données délinéarisées car là aussi, le résultat si l'utilisateur met n'importe quoi peut être pas très heureux.