Pb avec ereg pour parser image
Fermé
ebliss
Messages postés
6
Date d'inscription
jeudi 7 août 2008
Statut
Membre
Dernière intervention
7 août 2008
-
7 août 2008 à 11:48
Max - 22 oct. 2010 à 16:31
Max - 22 oct. 2010 à 16:31
A voir également:
- Pb avec ereg pour parser image
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Faststone image viewer - Télécharger - Visionnage & Diaporama
- Google recherche par image - Guide
- Image - Guide
9 réponses
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
7 août 2008 à 12:14
7 août 2008 à 12:14
Salut,
d'abord c'est bizarre, tu appelle ta variable $match et tu écris $matches[] ...
Sois je comprend pas trop le principe ou soit tu t'es gouré! ^^
Ensuite, ton explication ne veut rien dire ! Surtout cette ligne :
- utiliser le src de chaque img pour une autre utilisation (par exemple appliquer un scriptalicous)
Je te rappelle que scriptaculous agit sur un id et non sur un src.
Et finallement, tu pourrai pas faire un tableau simple pour stocker tes valeurs, un truc du genre:
<?php
$compteur = 0;
while(preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches))
{
$match[$compteur] = preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches);
echo $match[$compteur];
$compteur++;
}
Je suis pas sûr du while(preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches)) mais c'est un truc du genre : "TANT QU'ON A PAS FINI DE SCRUPTER LE FICHIER HTML (EOF ???), ON FAIT LE CODE SUIVANT ...."
A+
Gaerebut
d'abord c'est bizarre, tu appelle ta variable $match et tu écris $matches[] ...
Sois je comprend pas trop le principe ou soit tu t'es gouré! ^^
Ensuite, ton explication ne veut rien dire ! Surtout cette ligne :
- utiliser le src de chaque img pour une autre utilisation (par exemple appliquer un scriptalicous)
Je te rappelle que scriptaculous agit sur un id et non sur un src.
Et finallement, tu pourrai pas faire un tableau simple pour stocker tes valeurs, un truc du genre:
<?php
$compteur = 0;
while(preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches))
{
$match[$compteur] = preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches);
echo $match[$compteur];
$compteur++;
}
Je suis pas sûr du while(preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches)) mais c'est un truc du genre : "TANT QU'ON A PAS FINI DE SCRUPTER LE FICHIER HTML (EOF ???), ON FAIT LE CODE SUIVANT ...."
A+
Gaerebut
ebliss
Messages postés
6
Date d'inscription
jeudi 7 août 2008
Statut
Membre
Dernière intervention
7 août 2008
7 août 2008 à 14:56
7 août 2008 à 14:56
Re
Je me suis peut etre mal exprimé, mais en gros j'ai besoin de recuperer le src de chaque fichier pour l'interpréter autrement dans le html affiché
pour le matches c'est une erruer de copier/coller
je test ton script :)
merci
Je me suis peut etre mal exprimé, mais en gros j'ai besoin de recuperer le src de chaque fichier pour l'interpréter autrement dans le html affiché
pour le matches c'est une erruer de copier/coller
je test ton script :)
merci
ebliss
Messages postés
6
Date d'inscription
jeudi 7 août 2008
Statut
Membre
Dernière intervention
7 août 2008
7 août 2008 à 15:40
7 août 2008 à 15:40
Gros bug
ca m'ecrit plein de 1111111111
while(preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches))
{
$match[$compteur] = preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches);
echo $match[$compteur];
$compteur++;
}
ca m'ecrit plein de 1111111111
while(preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches))
{
$match[$compteur] = preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches);
echo $match[$compteur];
$compteur++;
}
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
7 août 2008 à 15:50
7 août 2008 à 15:50
OUI je t'es dis que c'est ici que ça posé certainement problème :
while(preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches))
mais qu'il fallait trouver un truc qui veuille dire un truc de ce genre : "TANT QU'ON A PAS FINI DE SCRUPTER LE FICHIER HTML (EOF ???), ON FAIT LE CODE SUIVANT ...."
Et as-tu bien initialisé la variable aussi au début ?
==> $compteur = 0;
A+
Gaerebut
while(preg_match_all('/<img.*src=(.*)\s\/>/',$Texte,$matches))
mais qu'il fallait trouver un truc qui veuille dire un truc de ce genre : "TANT QU'ON A PAS FINI DE SCRUPTER LE FICHIER HTML (EOF ???), ON FAIT LE CODE SUIVANT ...."
Et as-tu bien initialisé la variable aussi au début ?
==> $compteur = 0;
A+
Gaerebut
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ebliss
Messages postés
6
Date d'inscription
jeudi 7 août 2008
Statut
Membre
Dernière intervention
7 août 2008
7 août 2008 à 15:54
7 août 2008 à 15:54
pour le compteur = 0, oui oui j'ai fait
pour le while, ok j'ai pigé
Merci
pour le while, ok j'ai pigé
Merci
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
7 août 2008 à 16:00
7 août 2008 à 16:00
Ok !
Tient moi au courant si tu trouve ce qu'il faut mettre dans le while! Et surtout , si tu y arrive et si ça marche ^^
A+
Bon courage !
Gaerebut
Tient moi au courant si tu trouve ce qu'il faut mettre dans le while! Et surtout , si tu y arrive et si ça marche ^^
A+
Bon courage !
Gaerebut
ebliss
Messages postés
6
Date d'inscription
jeudi 7 août 2008
Statut
Membre
Dernière intervention
7 août 2008
7 août 2008 à 16:28
7 août 2008 à 16:28
Re
J'ai du nouveau
J'ai fait cela
$Texte = '<p>Briquet</p>
<p><img width="400" height="300" alt="" src="/image/1494096336_small.jpg" /></p>
<p>texte</p>
<p><img width="600" height="450" alt="" src="/image/4L%20trophy%20343.jpg" /></p>';
preg_match_all('/<img.*src="(.*)"\s\/>/',$Texte,$match);
$nb=count($match[0]);
for($i=0;$i<$nb;$i++)
{
echo '<a href="'.$match[1][$i].'" class="a_img" rel="lightbox[img_'.$i.']"><img src="'.$match[1][$i].'" border=0 width="200"></a>';
}
et cela me traite correctement les images, or un autre probleme intervient :(
il ne me fait apparaitre que les occurences qui respect le format de l'ereg, et me supprime le reste :(:(:(
or j'ai besoin qu'il conserve la mise en page de mon html, en ne remplacant que les img par le nouveau format
en gros qu'il remplace
<img src="image.jpg" />
en
<a href="image.jpg'" class="a_img" rel="lightbox[img_X]"><img src="image.jpg" border="0"></a>
avec si possible les attribut width et height, c'est plus clair ??
J'ai du nouveau
J'ai fait cela
$Texte = '<p>Briquet</p>
<p><img width="400" height="300" alt="" src="/image/1494096336_small.jpg" /></p>
<p>texte</p>
<p><img width="600" height="450" alt="" src="/image/4L%20trophy%20343.jpg" /></p>';
preg_match_all('/<img.*src="(.*)"\s\/>/',$Texte,$match);
$nb=count($match[0]);
for($i=0;$i<$nb;$i++)
{
echo '<a href="'.$match[1][$i].'" class="a_img" rel="lightbox[img_'.$i.']"><img src="'.$match[1][$i].'" border=0 width="200"></a>';
}
et cela me traite correctement les images, or un autre probleme intervient :(
il ne me fait apparaitre que les occurences qui respect le format de l'ereg, et me supprime le reste :(:(:(
or j'ai besoin qu'il conserve la mise en page de mon html, en ne remplacant que les img par le nouveau format
en gros qu'il remplace
<img src="image.jpg" />
en
<a href="image.jpg'" class="a_img" rel="lightbox[img_X]"><img src="image.jpg" border="0"></a>
avec si possible les attribut width et height, c'est plus clair ??
ebliss
Messages postés
6
Date d'inscription
jeudi 7 août 2008
Statut
Membre
Dernière intervention
7 août 2008
7 août 2008 à 16:48
7 août 2008 à 16:48
Fixé :)
$chaine=preg_replace('`<img.*src="(.*)"\s\/>`', '<a href="$1" class="a_img" rel="lightbox[img]"><img src="$1" border=0 width="200"></a>', $Texte);
echo $chaine;
Merci pour tes lumieres Gaerebut
$chaine=preg_replace('`<img.*src="(.*)"\s\/>`', '<a href="$1" class="a_img" rel="lightbox[img]"><img src="$1" border=0 width="200"></a>', $Texte);
echo $chaine;
Merci pour tes lumieres Gaerebut