[RESOLU] problème avec la fonction preg_match_all

jiji55
Invité n'ayant pas de compte PHPfrance

27 févr. 2014, 17:00

Bonjours, j'ai un soucis avec mon code,
for($i=1; $i<$n; $i++)
{
$a= htmlentities($tab_csv[$i]);
$b=str_replace ( "," , "%%%%", $a);
$c=str_replace ( """ , "\"", $b);
preg_match_all('/\"[^\"]*\"/'  , $c, $out, PREG_SET_ORDER);
foreach ($out as $key => $Maligne ){
echo $key." ";
var_dump($Maligne);
echo '<br />';
}
j'utlise les str_replace pour un soucis de traitement seulement, mon problème est que le resultat de ceci est :

0 array(1) { [0]=> string(23) ""Variable / Field Name"" }
1 array(1) { [0]=> string(11) ""Form Name"" }
2 array(1) { [0]=> string(16) ""Section Header"" }
0 array(1) { [0]=> string(19) ""0%%%%oui|1%%%%non"" }
0 array(1) { [0]=> string(17) ""<span style="" }
1 array(1) { [0]=> string(13) ""color: teal"" }
...
je ne comprend pas pourquoi cela me donne un tableau de tableau
comment je pourrais faire pour que toutes les valeurs soit dans le meme tableau ?

ViPHP
xTG
ViPHP | 7331 Messages

27 févr. 2014, 17:05

Tu te créés un autre tableau dans lequel tu viens stocker les valeurs. :)
$tableau = array();
for($i=1; $i<$n; $i++)
{
   $a= htmlentities($tab_csv[$i]);
   $b=str_replace ( "," , "%%%%", $a);
   $c=str_replace ( """ , "\"", $b);
   preg_match_all('/\"[^\"]*\"/'  , $c, $out, PREG_SET_ORDER);
   foreach ($out as $key => $Maligne )
   {
      echo $key." ";
      var_dump($Maligne);
      echo '<br />';
      $tableau[] = $Maligne[0]; // stocker la valeur
   }
}
var_dump($tableau);

jiji55
Invité n'ayant pas de compte PHPfrance

27 févr. 2014, 17:10

Ah ben oui... , merci beaucoup ! Pb résolu

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

27 févr. 2014, 17:20

Modération :
Puisque ta question est résolue, je l'indique en cliquant sur le bouton "Mettre le sujet en tant que Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert situé en haut de la page à côté du titre, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Il en faut peu pour être heureux ......