extraction de contenus d'un fichier texte - PHP - Programmation
Marsh Posté le 07-10-2010 à 12:27:07
Il faut utiliser les expressions régulières
Code : |
Marsh Posté le 07-10-2010 à 13:13:54
ReplyMarsh Posté le 07-10-2010 à 13:16:06
Autre solution, lire le fichier avec file() puis pour chaque ligne (une ligne = une entrée dans le tableau résultat de file(), utiliser explode() avec comme 1er séparateur, " - ". Ca va te donner un tableau à 2 entrées, la première contenant la date. Tu relances explode() sur la 2ème entrée avec comme séparateur " : ". A nouveau, t'auras un tableau à 2 entées qui vont correspondre à tes 2 autres variables.
A voir après si en termes de perfs c'est mieux que preg_match. Il me semblait avoir lu que les PCRE étaient assez coûteuse en perfs
Marsh Posté le 07-10-2010 à 14:30:27
Bon après faut aussi voir niveau clarté hein
Parce que les explode imbriqués dans tous les sens, niveau facilité de compréhension j'ai vu mieux
Premature optimisation is the root of all evil
Marsh Posté le 07-10-2010 à 14:54:00
esox_ch a écrit : Bon après faut aussi voir niveau clarté hein |
En même temps, les expressions régulières, c'est pas ce qui est le plus facile à lire, hein Quand tu commences à mettre de la récursivité dans des ExpReg, par ex, ça devient folklorique à lire
Marsh Posté le 07-10-2010 à 15:36:12
Dans ce cas, la regexp peut être simplement ^(.*) - (.*) : (.*)$
Ca se lit tout seul si on sait ce qu'est une regexp :
^ : début de la ligne
(.*) : N'importe quoi (littéralement un nombre indéfini de n'importe quel caractère), entre parenthèses pour être réutilisé ensuite
$ : fin de la ligne
Marsh Posté le 07-10-2010 à 15:56:04
rufo a écrit : |
Non mais d'accord. On peut toujours faire des trucs ignobles si on s'applique
Le truc c'est que pour parser une chaine de caractères comme ça, c'est fait en 2 sec et c'est propre et clair.
Et le jour où il veut rajouter un 4ème champ, pas besoin de remettre une couche d'explode et de moulinette ..
Marsh Posté le 07-10-2010 à 11:59:34
Bonjour,
je cherche un moyen d'extraire des bouts de textes d'un fichier en php.
voici un aperçu de mon fichier :
07/10/2010 - blablablabla 1 : hihihihihi 1
06/10/2010 - blablablabla 2 : hihihihihi 2
05/10/2010 - blablablabla 3 : hihihihihi 3
05/10/2010 - blablablabla 4 : hihihihihi 4
par ex. mettre dans 3 variables les 3 parties de la première ligne.
dans ma première variable la date : $date1 = "07/10/2010"
dans une seconde variable $titre1 = "blablablabla 1"
et la troisième $contenu = "hihihihihi 1"
je parviens a extraire la date par cette fonction :
mais comment, en php, je peux par ex. mettre la chaine de caractère qui se trouve entre les 2 caractères "-" et ":" dans une variable ? et tous ce qui est après ":" jusqu'à la fin de la ligne dans une autre ?
Merci d'avance...