J'ai une variable qui contient une chaine "$result" telle que:
echo $result;
Array ( [toto] => Array ( [plop] => Array ( [*] => Ceci Est le contenu qui m'intéresse ) ) )
Mon objectif est de ne conserver que le texte suivant: "Ceci Est le contenu qui m'intéresse".
J'ai tenté de lire le contenu de $result['toto'], mais je n'obtiens qu'un "A" qui ne doit pas être un signe de réussite ;-)
Si quelqu'un a une idée... Je suis preneur. Merci d'avance.
# ...
Posté par Jean B . Évalué à 4.
Dans ce cas $result['toto']['plop']['*'] devrait te renvoyer ce que tu recherche
[^] # Re: ...
Posté par pampryl . Évalué à 2.
L'idéal serait de pouvoir en faire une Array à part entière pour pouvoir aller chercher l'indice qui me convient.
[^] # Re: ...
Posté par Jean B . Évalué à 2.
Malheureusement il n'y a pas a ma connaissance pas de moyen d'en refaire un tableau vu que la représentation ne correspond pas a la forme littérale.
Je suppose que tu obtient cette chaîne avec un print_r ?
La comme ça la seule idée qui me vient est une regexp du genre:
ereg("\[$key\] => ([a-zA-Z' ]+)", $str, $regs)
Ça marche sur ton exemple, mais teste la bien quand même.
[^] # Re: ...
Posté par pampryl . Évalué à 2.
Au final, sur l'idée d'un ami, j'ai préféré changé le format de réception des données depuis l'API (je ne la maitrise pas, mais je peux donner en paramètre d'une requête le format souhaité).
Avec un unserialize sur la réponse, j'ai pu parser le tableau avec: ['toto']['ploup']['*'] et obtenir relativement proprement ce que je souhaitais :-)
Merci encore.
[^] # Re: ...
Posté par Raphaël G. (site web personnel) . Évalué à 3.
A savoir utiliser les fonctions json comme modèle de transport ou du xml.
Côté serveur :
<?php
$array = array(
'key' => 'value',
'key2' => 'value2'
);
echo json_encode($array);
Côté client :
<?php
$array = json_decode(file_get_contents('http://example.com/export.php'));
Tu pourrais faire de même avec simplexml.
ps : ajoute le contrôle d'erreur côté réception client, on sait pas ce qui peut se passer sur le réseau...
[^] # Re: ...
Posté par fcartegnie . Évalué à 2.
PHP est dans la philosophie un "C" scriptable, et reprend la plupart des caractéristiques.
$result['toto']['plop']['*'] est une chaine, qui est aussi un tableau si on y accède par référence + décalage
echo $result['toto']['plop']['*'][2];
c
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.