|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mars 2003 Messages : 7 ![]() |
Bonjour,
Cela fait deux jours que je recherche le motif qui va bien mais il y a quelques choses que je ne dois pas comprendre... Au départ j'ai une chaine type : Code :
j'ai du texte<img style="width:140px" src="../../image.jpg" alt="commentaire">du texte ou pas selon<img style="width:140px" src="../../autre_image.jpg" alt="autre_commentaire">
Mais le soucis c'est qu'il me prend de <img jusqu'u dernier >... Je me permets de vous exposer mon code enfin une des innombrables versions... Code :
arno |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
![]() tu as essayé de réaliser ce que tu veuix avec str_replace ?
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : mars 2003 Messages : 7 ![]() |
Citation:
Str_replace ne correspond pas à mon besoin car mes chaines de carctères à analyser ne sont jamais les même. En fait je dois récupérer toutes les balises <img> des pages, récupérer leur 'source' et leur 'alt' et rajouter un javascript pour faire un pop-up. Ca marche presque si ce n'est ce motif d'expression régulière que je n'arrive pas à affiner... MErci ARno |
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
et bien tu n'as qu'à tiliser strpos() qui te permet de chercher la première occurence d'une chaine dans une autre chaine : http://www.expreg.com/equivalence.php
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
regarde les tutoriaux sur les expressions regulieres
je te conseille d'utiliser preg plutot que ereg, c'est plus performant et tu peux faire plus de choses. Notemment spécifier des modificateurs globaux a ton masque, comme U qui correspond je crois a ce que tu cherches. A appliquer comme ca : "#masque#U" (le caractere # peut etre remplacé par ce que tu veux, /, ou autre chose)
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
00
|
|
|
#6 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Par ailleurs le tableau multidimensionnel (bi) accueillant le résultat ($out) me semble mal utilisé. Pour voir ce que vous otebenez utiliser la fonction print_r (cf FAQ).
Julp. |
|
|
00
|
|
|
#7 | ||||||
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 7 ![]() |
salut,
en fait je passais par la pour le meme probleme... donc voila une expression qui (normalement) devrait donner tous les ALT et SRC de tes images: Code :
Citation:
en fait suis dans le meme probleme: Code :
Citation:
|
||||||
|
|
00
|
|
|
#8 | |
|
Invité de passage
![]() Inscription : mars 2003 Messages : 7 ![]() |
Citation:
Je n'ai en effet pas du comprendre la fonction de $out. En effet quand je fais un var_dump sur mon tableau $out (pareil que print_r) je m'attendais à avoir une entrée par sous-chaine trouvée dans la chaine principale. Mais en faites si j'ai bien compris c'est plutôt un tableau qui comprendra autant d'entrée qu'il y a de masque dans notre motif. Ce qui expliquerais notre cas à moi et à Pac1250. Ca doit ressembler à preg_match selon le manuel : Si matches est fourni, il sera rempli par les résultats de la recherche. $matches[0] contiendra le texte qui satisfait le masque complet, $matches[1] contiendra le texte qui satisfait la première parenthèse capturante, etc.. Ca complique encore mon affaire si il faut le faire en plusieurs passent... N'empêche que je n'arrive toujours pas à récupérer l'esemble de ma balise <img et uniquement elle. J'y retourne MErci pour vos pistes ARno |
|
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
je dois ecrire trop petit...
Citation:
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
|
00
|
|
|
#10 | |
|
Invité de passage
![]() Inscription : mars 2003 Messages : 7 ![]() |
Citation:
array preg_grep ( string pattern, array input) C'est à dire que preg_grep attent un tableau en entrée et ressort un tableau. LE soucis c'est que ma chaine a analyser peut faire plusieurs Ko et ce n'est pas un tableau c'est le un contenu de body comportant des balises <hx>, <p>, <div> et <img> pour la majeur parti Par contre tu as raison je n'ai pas encore pris le temps d'aller voir le cours que tu proposais mais c'est parceque j'en ai regardé d'autres et que je n'ai pas trouvé la solution. Bonne soirée Arno |
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
c'est plutot preg_match ou preg_match_all qu'il te faut utiliser je pense.
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
00
|
|
|
#12 | ||||||
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 7 ![]() |
effectivement pour poonoo:
Code :
Code :
Code :
pour ma part:
|
||||||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mars 2003 Messages : 7 ![]() |
Merci de votre aide, je constate qu'il faut que je repotasse mes expressions régulières car j'ai zappé pas mal de choses.
Encore merci pour votre aide et bonne semaine Arnaud |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com