18-09-2010, 10:08 PM
Heu, ta regex la? tu as pas dit que le but était seulement de la simplifier?
Parce qu'elle fonctionne pas du tout!
Sur ton exemple elle me retourne:
Array (
[0] => ## controleur.php [php]
[1] => controleur.php
[2] => php
[3] => )
Alors que 3 devrai être ton contenu...
J'ai passé 1h dessus se soir, la mienne sélectionne en plus la première ligne du contenu (et est un peu plus simple que la tienne) mais sa répond pas encore au cahier des charges!
Pour être bien il faudrait que la fin de la regex sélectionne tous les caractères, échappements compris, jusqu'à rencontrer un retour a la ligne (/r, /n ou /n/r) directement suivit de doubles #
La réside le probléme:
Si je met les options en 'mi', la regex s'arrête a la fin de la ligne avec le (.*), et comme on peut pas savoir combien il y aura de lignes de codes
Sinon en plaçant e option 'si', la regex me sélectionne bien les infos, mais j'arrive pas a l'arrêter a la condition que j'ai cité plus haut, et encore moins a lui dire de repartir a zéro depuis cette position (pour sélectionner la partie de code suivante)
De la même façon, le nombre de parties de codes sont indéfinies je suppose, on peut avoir 1 comme 5 'fichiers' dans la variable de départ? donc on peut pas faire un copier collé de la première regex pour qu'elle se répète a la suite...
Bref c'est absolument obligé que sa se fasse en une regex?
Avec une boucle et des if else sa me parait plus simple! et puis c'est pas un script qui va tourner 24h sur 24 donc est-ce bien utile de perdre du temps la dessus?
J'ai fait de mon mieux... quelqu'un d'autre veut s'y essayer?
Parce qu'elle fonctionne pas du tout!
Sur ton exemple elle me retourne:
Array (
[0] => ## controleur.php [php]
[1] => controleur.php
[2] => php
[3] => )
Alors que 3 devrai être ton contenu...
J'ai passé 1h dessus se soir, la mienne sélectionne en plus la première ligne du contenu (et est un peu plus simple que la tienne) mais sa répond pas encore au cahier des charges!
Pour être bien il faudrait que la fin de la regex sélectionne tous les caractères, échappements compris, jusqu'à rencontrer un retour a la ligne (/r, /n ou /n/r) directement suivit de doubles #
La réside le probléme:
Si je met les options en 'mi', la regex s'arrête a la fin de la ligne avec le (.*), et comme on peut pas savoir combien il y aura de lignes de codes
Sinon en plaçant e option 'si', la regex me sélectionne bien les infos, mais j'arrive pas a l'arrêter a la condition que j'ai cité plus haut, et encore moins a lui dire de repartir a zéro depuis cette position (pour sélectionner la partie de code suivante)
De la même façon, le nombre de parties de codes sont indéfinies je suppose, on peut avoir 1 comme 5 'fichiers' dans la variable de départ? donc on peut pas faire un copier collé de la première regex pour qu'elle se répète a la suite...
Bref c'est absolument obligé que sa se fasse en une regex?
Avec une boucle et des if else sa me parait plus simple! et puis c'est pas un script qui va tourner 24h sur 24 donc est-ce bien utile de perdre du temps la dessus?
J'ai fait de mon mieux... quelqu'un d'autre veut s'y essayer?