|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Membre actif
![]() |
Bonjour à tous,
j'aimerais récuperer dans mon script PHP une chaine de caractères qui se situe dans un fichier HTML et qui est toujours entourée des balises et éléments suivants: Code :
xxx</b></a>(Chaîne_à_récupérer)<br>xxx Code :
$chaine = ereg("</b></a>\((.*)\)<br>", $str, $reg); Evidemment, pour récupérer la chaine avec les parentheses autour, il n'y a aucun problème, mais j'aimerais la récupérer sans. J'ai également essayé de remplacer ereg par preg_match, mais j'obtiens alors le message d'erreur: Citation:
La non plus, je ne comprends pas... Si une âme charitable pouvait me venir en aide, merci d'avance. |
|
|
|
00
|
|
|
#2 | |||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#3 |
|
Membre actif
![]() |
En effet, ça fonctionne, merci beaucoup.
C'est moi qui avais mal analysé mon fichier HTML, il y avait en fait un espace entre la balise et la parenthèse ouvrante... hmm désolé :/ Par contre, je n'ai rien trouvé sur les délimiteurs et leur signification dans la doc de preg_match, si tu pouvais me dire ou trouver de la doc pour savoir à quoi correspondent les # ... En tout cas, merci pour ton aide. |
|
|
00
|
|
|
#4 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Les délimiteurs servent à spécifier où commence et finit le masque ou motif puisqu'à la fin de celui-ci on peut notamment ajouter des options. Les caractères délimitant l'expression régulière peuvent être quelconques (ici # mais j'aurais très bien pu utiliser £ ou autres). Cependant, s'il vient à paraître dans le masque il faudra l'échapper (le faire précéder d'un backslash) c'est pourquoi on choisit, par bon sens, un caractère dont on sait qu'il n'apparaîtra pas. Par ailleurs, tous les caractères couplés (parenthèses, accolades, crochets, < et >) peuvent délimiter l'expression (le caractère ouvrant marquant son début et le caractère fermant, sa fin).
Attention : sauf cas volontaires, n'utilisez pas un métacaractère (caractère possédant une signification dans une expression : +, *, ?, (), {}, [], ., etc) comme délimiteurs. En savoir plus sur les expressions régulières : |
|
|
00
|
|
|
#5 |
|
Membre actif
![]() |
Un grand merci pour l'explication (on ne peut plus clair) et les liens, fort intéressants (notamment sur les options, bien pratiques, en particulier l'Ungreedy !)
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com