|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre émérite
![]() Inscription : septembre 2002 Messages : 1 635 ![]() |
Bonjour à tous,
Voici le contenu du fichier analysé : Code :
Code :
Code :
Pourquoi cela ? Merci. |
||||||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Je ne saurais te dire pourquoi tu recupère plusieurs fois la même image.
Mais tout d'abord, lors de la recup de la liste des images, es-tu sur que tout sera correctement placé. Avec mon aspirateur, j'avais été confronté à un problème car je pouvais avoir des données réparties sur plusieurs retours de fgets ( il n'y avait pas forcément un retour chariot ). Pour remedier au problème, dorénavant, je stocke tout dans un buffer . Et c'est là que les expressions perl rentre en jeu et notamment la fonction preg_match_all qui comme son nom l'indique match( et recup ) toutes les occurences du masque et c'est vachement utile pour les aspirateur L'autre avantage, c'est que les expressions perl sont plus rapide. Pour les infos sur les masques, je te renvoie vers la FAQ de developpez F.A.Q A ta disposition, Pierre |
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 694 ![]() |
Essaie cette modif pour voir
Code :
$result = eregi("^\"(.*)\"$", $ligne, $regs);
__________________
Pensez au tag
|
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Cette modif ne fonctionnera pas car tu as ajouté des modificatuers pour indiquer le début et la fin d'une ligne. Ce n'est pas ce qu'il veut faire. Il veut récuperer ce contient l'attribut src de img.
Il faudrait plutôt qu'il augmente son masque de façon à être plus précis en la modifiant comme ceci, par exemple |
|
|
00
|
|
|
#5 | ||
|
Membre émérite
![]() Inscription : septembre 2002 Messages : 1 635 ![]() |
Voici la réponse que j'ai trouvé :
Code :
|
||
|
|
00
|
|
|
#6 | |||||
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Citation:
Tu ne testait pas la valeur de retour de l'expression régulière. Donc, meme si celle-ci ne trouvait rien, tu affichais le contenu de regs ( qui avait encore les anciennes valeurs trouvées.) Plus propre que $regs = null Code :
Bonne continuation dans ton projet pierre |
|||||
|
|
00
|
|
|
#7 |
|
Membre émérite
![]() Inscription : septembre 2002 Messages : 1 635 ![]() |
Merci FCYPBA,
|
|
|
00
|
|
|
#8 | ||||||
|
Membre émérite
![]() Inscription : septembre 2002 Messages : 1 635 ![]() |
Comme indiquer par FCYPBA, je remplace :
Code :
Code :
Code :
Pourtant l'expression régulière passée en paramètre n'a pas changé... Où est donc l'astuce pour que cela fonctionne ? A+ |
||||||
|
|
00
|
|
|
#9 | ||
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Les expressions régulières perl ne sont pas identiques aux autres. C'est pour cela que je t'ai donné le lien vers la FAQ
En perl, il faut delimiter le masque avec un caractère spécial ( ce qui manque dans ton cas ). moi j'utilise '/' Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com