Bonjour,
Cela fait un moment que je me prend la tête, alors je craque et vous demande un peu d'aide !![]()
Je débute en php et j'ai déjà fait du perl. Donc pour ma requête - récupérer des données dans un texte - je me suis logiquement tournée vers les regex. Mais j'ai un souci, car j'ai l'impression que seules les fonctions type preg_match fonctionnent avec les regex, or elles me renvoient le nombre d'occurence sur ma ligne et non, le contenu trouvé.
Je m'explique. J'ai un fichier du type :
Je veux récupérer le chiffre après "NUMBER=" et le premier chiffre avant la virgule, ainsi que le second, après la virgule.
Code X : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 NUMBER=1892 380.8000,1.400e+4 381.4000,1.400e+4 424.8000,7.701e+4 NUMBER=1893 381.4000,2.100e+4 424.8000,1.120e+5 425.0000,6.301e+4 425.4556,2.870e+5 426.0000,3.501e+4 426.4000,2.100e+4 426.7000,2.100e+4
Or je coince !
J'ai essayé plein de trucs dont le dernier :
mais évidemment ça marche pas car strrchr ne comprend pas les regex...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ... $fc=file($stock2); $stock3 = $stock1."\\".$content_dir.".txt"; $f=fopen($stock3,"w"); foreach ($fc as $line) { $char=strrchr($line,'/\d+/'); fputs($f,$char."\n"); }![]()
Si je mets preg_match à la place de strrchr, il m'écrit un "1" pour chaque ligne lue...normal !![]()
Est-ce qu'il existe une fonction qui me permette de récupérer le contenu d'une régex ? Je suppose que oui, mais laquelle ???
Merci beaucoup pour votre aide précieuse !
Partager