|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 54 ![]() |
Bonjour a tous,
voila j'ai un code qui ouvre des fichiers texte pour recuperer certaines donnees et je recherche une fonction pour cibler ces données . exemple : "description : Le chat est dans la cour." j'aimerais récupérer les infos contenu entre "description :" et "." j'utilise d'abord un file_get_contents puis la fonction eregi() mais le problème c'est que la fonction ne se limite pas au premier "." pour finaliser ma récuperation , en gros elle va boucler a chaque fois qu'il y aura un point ... (idem avec un strpos puis strlen et un substr ) A tout hasard auriez vous une soluce Merci d'avance |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Et s'il y a plusieurs "description :" ?
Peux-tu donner un exemple de fichier en entrée et d'appel à la fonction ?
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 54 ![]() |
merci pour la réponse aussi rapide voila le code :
donc en gros je chope tous les fichiers d'un dossier , je les ouvre un par un et j'affiche certaines infos ... j'espere que cela est a peu près compréhensible ... Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 54 ![]() |
pardon il manque ceci ...
Code :
|
||
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Re,
Cela ne répond pas à ma question ;-) Quel résultat espères-tu s'il y a plusieurs "description:" dans un fichier ? Tu veux juste le premier ? Tous ?
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 54 ![]() |
Pardon ... pour le retard ...
En fait la chaine 'description: ... . ' n'apparait qu'une fois par page (une cinquantaine au total ) mais sa longueur varie selon la page (qui contient evidemment plusieurs '.' ). merci d'avance !!! |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Code :
$titre = @eregi('description:(.*).',$page,$nom); eregi() est obsolète, il "faut" passer à preg_match() De plus, "." est un caractère spécial en regex... Il faut donc l'échapper. Code :
$titre = preg_match ('/description:(.*)\./', $page,$nom);
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2009 Messages : 54 ![]() |
GENIAL -- MERCI -- CARREMENT !!!!!
|
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Je dirais /description : (.*)\./Us
U pour que la recherche s'arrête au premier point s pour que la recherche puisse s'étendre sur différentes lignes http://fr.php.net/manual/en/referenc....modifiers.php preg_match( ) : http://fr.php.net/manual/en/function.preg-match.php
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#10 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
J'aurais utilisé "m" comme modifier à la rigueur pour le multi-ligne (même si j'avoue ne l'avoir jamais utilisé, pas plus que le "s"
Par contre, je suis "contre" le "U" du ungreedy. Autant modifier le regex comme ça : *? = Matches 0 or more of the preceeding token. This is a lazy match, and will match as few characters as possible before satisfying the next token.
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
01
|
|
|
#11 | ||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
T'es sûr qu'il est utilisable avec cette pattern ?
Doc : Citation:
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||
|
|
00
|
|
|
#12 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Non, je ne suis pas sûr du tout, j'essaye d'utiliser les modifier le moins possible.
D'une part, car je ne fais pas super confiance à ceux de PHP et que d'autres part quand un regex est possible sans les utiliser, autant en profiter. Je trouve cela beaucoup plus clair sans. Il y a des outils pour aider à faire les regex et à contrôler en clair point par point ce que fait telle ou telle partie d'une expression régulière. J'ai testé mon bout de regex ici : http://regexr.com?2tnca et ça a l'air de fonctionner sans "s" ni "U". Par contre, pour le "s" comme PHP réagit différemment de celui de java ou de PERL, je suis un peu perdu sans test file_get_contents() contenant une string, je pense que ce test est concluant sur le fait que les 2 modifiers sont, ici, inutiles : http://codepad.viper-7.com/j1OWMK
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
00
|
Copyright © 2000-2012 - www.developpez.com