Expression régulière pour JSON [RESOLU] - PHP - Programmation
Marsh Posté le 02-09-2011 à 16:03:58
Il parait que si tu mets un fichier .htaccess à la racine de ton FTP et qu'il contient
Code :
|
Et bien tu auras PHP5. Et donc l'extension JSON.
Marsh Posté le 04-09-2011 à 15:06:59
merci de ta réponse, je vais tester.
Par contre, pour le plaisir d'aboutir cette expression régulière, quelqu'un aurait une idée?
Marsh Posté le 04-09-2011 à 15:20:02
naeco a écrit : merci de ta réponse, je vais tester. |
JSON est une structure récursive, tu peux pas le parser correctement avec juste une expression régulière (sauf en perl, à la limite, je sais que les regex perl sont turing-complete et récursives).
Je suggérerais plus d'utiliser Pear JSON, c'est juste un fichier PHP à inclure.
Marsh Posté le 05-09-2011 à 13:15:56
En fait PREG signifie PERL REGULAR, ce sont donc des expressions compatibles, et la récursivité de regexp est possible en PHP.
Maintenant, on est bien d'accord, parser du JSON avec une regexp, c'est comme découper de la viande avec un silex !
Marsh Posté le 05-09-2011 à 22:32:02
Nous sommes d'accord, j'ai pas cette prétention, je sais que mon JSON aura une complexité quantifiée, donc je fais un décodeur juste pour mes besoin.
Enfin là surtout, j'aimerai bien réussir à pas avoir ma première et dernière valeur vide, juste pour savoir le faire, même si peut être la solution du .htacess fonctionne.
Merci de vos d'idées !
Marsh Posté le 05-09-2011 à 22:51:48
Je suis pas un habitué de preg_split, en général je fais plutot du preg_match_all (ce qui est quand même plus sympa : parenthèses capturantes, etc.).
En freestyle, pour du preg_split, je dirais :
'`\s*,\s*$`Usi'
Marsh Posté le 07-09-2011 à 19:44:15
Je ne pense pas non.
Tant pis.
Sinon, c'était exact, avec ce .htacces, cela provoque actuellement le passage en PHP 5.1.3RC4-dev :
Code :
|
Merci !
Marsh Posté le 02-09-2011 à 11:55:03
Bonjour,
Je suis en train de faire un site hébergé par FREE, et la version de PHP est la 4.4.3, ce qui est donc inférieur à la 5.2.0 où l'extension JSON est fourni par défaut.
Donc en attendant que FREE mette à jour sa version de PHP, il faut que je décode le JSON à la main.
Pour ça, je prends ma petite chaine de caractère, disons juste une sous chaine comme ça :
du coup, j'ai voulu traiter ça par une expression régulière avec :
mais les deux cas me retournent :
et comme vous pouvez le voir, ça ramène un élément vide au début et un à la fin. Je pourrai faire une boucle qui ignore le premier et le dernier élément, mais pour la beauté du geste, j'aimerai bien mettre en place une expression régulière qui renvoi directement le bon tableau.
Message édité par naeco le 07-09-2011 à 19:44:43