recuperer des donnes dans une variable

Eléphanteau du PHP | 20 Messages

17 avr. 2013, 22:58

Bonjour a tous,

Je cherche comment récupérer dans une variable un certain nombre de ligne.

J'explique

lorsque je demande que le contenu de ma variable soit ecrit dans un fichier text voici le résultat du fichier
_______________________________________
12445115 hdues-45845
3445-h45

zer
fjdkdle constueo
45752155h
7558fgfd26
7455dzee_4525
tueo


456----Fidsl45654dfhjs
455684555
_____________________________________
je cherche a récupérer a partir de la 1ere ligne vide et la seconde ligne vide le contenu et le mettre dans une nouvelle variable afin d'écrire son contenu dans un fichier
Je sais vraiment pas comment faire et je sais pas si c'est possible ?
Quelqu'un peut il m'aider ?
Merci d'avance.

Ci-dessous une partie de mon code
$date = date("d-m-Y");
$heure = date("H-i-s");
$nom_file = "fichier_$date-$heure.txt";
// création du fichier
$f = fopen($nom_file, "x+");
// écriture dans le fichier $texte est la variable dont le contenu est ci-dessus
fputs($f, $texte );
// fermeture
fclose($f);


Seb

Eléphanteau du PHP | 20 Messages

18 avr. 2013, 23:52

Personne n'a une idée ?? :cry:

Je pense a substr()

Seb

soft1ne
Invité n'ayant pas de compte PHPfrance

19 avr. 2013, 06:44

Vois la fonction :
preg_match()

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

19 avr. 2013, 19:49

salut,

pour t'aider il faut être certain que ce motif sera toujours le même.

une solution brutale explode
<?php
$txt = <<<txt
12445115 hdues-45845
3445-h45

zer
fjdkdle constueo
45752155h
7558fgfd26
7455dzee_4525
tueo

456----Fidsl45654dfhjs
455684555
txt;

$r = explode("\r\n\r\n",$txt);

xdebug_var_dump($r);
tu récupère l'index 1 du tableau $r.
array (size=3)
0 => string '12445115 hdues-45845
3445-h45' (length=30)
1 => string 'zer
fjdkdle constueo
45752155h
7558fgfd26
7455dzee_4525
tueo' (length=65)
2 => string '456----Fidsl45654dfhjs
455684555'
après avec substr en deux fois avec strpos + strlen en prime, la première fois tu récupère ce qu'il y a après les premiers saut de ligne. ensuite ce qu'il y a avant le second saut de ligne.
<?php
$r = trim(substr($txt,strpos($txt,"\r\n\r\n"), strlen($txt)));
$r = substr($r, 0,strpos($r,"\r\n\r\n"));

@+
Il en faut peu pour être heureux ......