Question expressions régulières preg_match_all PHP

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3577
Inscription: Mar Fév 10, 2004 16:40

Question expressions régulières preg_match_all PHP

Message le Dim Aoû 19, 2007 12:41

Je me demande s'il est possible, lorsque l'on fait un pregmatchall sous PHP d'écrire une expression règulière qui fasse ce qui suit:

unmot(destrucsonsaitpasquoi)encoreunmot(.*?)encoreunmot

L'idée c'est que je récupère uniquement le contenu de (.*?) et pas celui de (destrucsonsaitpasquoi).

Sait-on exprimer (destrucsonsaitpasquoi) en regex et comment?


phpmikedu83
WRInaute accro
WRInaute accro
 
Messages: 1281
Inscription: Sam Aoû 06, 2005 7:34

Re: Question expressions régulières preg_match_all PHP

Message le Dim Aoû 19, 2007 13:02

ecocentric a écrit:Je me demande s'il est possible, lorsque l'on fait un pregmatchall sous PHP d'écrire une expression règulière qui fasse ce qui suit:

unmot(destrucsonsaitpasquoi)encoreunmot(.*?)encoreunmot

L'idée c'est que je récupère uniquement le contenu de (.*?) et pas celui de (destrucsonsaitpasquoi).

Sait-on exprimer (destrucsonsaitpasquoi) en regex et comment?


Ben des trucs on sait pas quoi, c'est:
Code: Tout sélectionner
.*

nan?


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3577
Inscription: Mar Fév 10, 2004 16:40

Message le Dim Aoû 19, 2007 13:49

Pas tout-à-fait mais j'ai trouvé en testant ta réponse.
En fait:
.*? indique une succession de n'importe quoi;
(.*?) fait la même chose mais réalise en plus l'extraction.

"<tr><td>fruit</td>jhshdkjqdkjsd<td>pomme</td><td>verte</td></tr>"
avec comme regex
/\<\/td\>.*?\<td\>(.*?)\<\/td\>/i
va donner "pomme" (il y a un ? en plus pour que l'expression ne soit pas gloutonne).


phpmikedu83
WRInaute accro
WRInaute accro
 
Messages: 1281
Inscription: Sam Aoû 06, 2005 7:34

Message le Dim Aoû 19, 2007 14:05

ecocentric a écrit:Pas tout-à-fait mais j'ai trouvé en testant ta réponse.
En fait:
.*? indique une succession de n'importe quoi;
(.*?) fait la même chose mais réalise en plus l'extraction.

"<tr><td>fruit</td>jhshdkjqdkjsd<td>pomme</td><td>verte</td></tr>"
avec comme regex
/\<\/td\>.*?\<td\>(.*?)\<\/td\>/i
va donner "pomme" (il y a un ? en plus pour que l'expression ne soit pas gloutonne).


On se fait avancer mutuellement dans la gestion des regexp, c'est cool ;-)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités