|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 25 ![]() |
Bonjour tout l'monde !
Me remettant doucement au php, je bloque sur la création d'un script pas vraiment compliqué sur le papier. Je souhaite capturer toutes les chaines de caractères se trouvant entre les balises /## et ##/. Il s'avère que la fonction preg_match_all soit tout à fait adaptée à la situation mais après plusieurs test, je n'arrive pas à m'en sortir avec les expressions régulières pour arriver à mes fins. Le code se rapprochant le plus du résultat est le suivant : Code :
preg_match_all('`/##(.+)##/`', $chaine_initiale, $resultat); Donc quel est le bon motif me permettant de capturer que ce qu'il se trouve entre les balises /## et ##/ ? Merci =) |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
Code :
preg_match_all('/\/##(.+?)##\//', $chaine_initiale, $resultat);
__________________
http://blog.stealth35.com/ |
|
|
01
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 25 ![]() |
Merci pour la réponse rapide (et le conseil :p ) , parcontre je me suis peut être mal exprimé, j'aimerais n'avoir que ce qui se trouve dans la balise, or avec ton motif, resultat[0][4] contient par exemple :
/## blablabla ##/ or je n'aimerais avoir que : blablabla |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
fait un print_r de $resultat et tu comprendras
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 25 ![]() |
Le print_r comme le echo me sortent la même chose, à savoir ma chaine avec la balise dedans..
Sinon je sais que je peux trouver une fonction toute conne pour retirer de toutes les cases de résultat les caractères "/##" et "##/", mais bon j'aimerais comprendre pourquoi preg_catch_all me boude xD |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
pas print_r($resultat[0][4]), juste print_r($resultat)
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 25 ![]() |
Ouuuups dsl !
Voila ce que m'affiche le print_r($resultat) : Array ( [0] => /## blablablaaaa ##/ ) Bah, j'en déduit que dans le tableau, toutes les cases contiennent /## ... ##/ , j'ai raté quelque chose ? xD Et que donc, la fonction preg_match_all me renvoie ma chaine mais aussi ce qu'il y a autour, ce qui est un peu bizarre vu que le motif à capturer recherché est bien délimité par les parenthèses... |
|
|
00
|
|
|
#8 | ||||
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
il t'affiche que ça ?
quand je test j'ai ça : Code :
Code :
__________________
http://blog.stealth35.com/ |
||||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 25 ![]() |
Bon, j'ai du faire une fausse manip pour ne pas avoir ton résultat car en retapant, j'arrive à avoir le même affichage que le tiens :p
Et je vois se que tu voulais me dire, merci beaucoup pour ton aide, tout marche nickel =) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com