Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1316 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de regex

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de regex

n°1939581
Orission
Posté le 11-11-2009 à 10:42:15  profilanswer
 

Salut
 
Voici j'essaie de récupérer une date sur un site mais hélas, ça ne fonctionne pas comme je souhaite, voici le code source :
 
 

Code :
  1. \t\t\tDate de sortie cinéma :
  2. \t\t\t<span class="bold">
  3. \t\t\t\t
  4. \t\t\t\t\t\t<a href="/film/agenda.html?week=2009-11-11">11 novembre 2009</a>
  5. \t\t\t\t\t
  6. \t\t\t</span>


 
Il ne veut pas afficher les tabulations donc je les affiches directement, mais dans la source c'est comme ça :)
 
Et voici mon regex :
 

Code :
  1. preg_match('#<a href="/film/agenda.html?week=(.*?)">(.*?)</a>#is', $recup, $sortie_cinema);


 
mais ça ne me récupère strictement rien :(
 
Si quelqu'un me peut donner un coup de main.
 
Merci


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
mood
Publicité
Posté le 11-11-2009 à 10:42:15  profilanswer
 

n°1939590
badaboumsp​lash
Posté le 11-11-2009 à 11:14:57  profilanswer
 

Salut,
 
Certains caractères ont des significations particulières dans les regex et ont besoin d'être échappées pour être interprétés dans leur sens « littéral ».
 
Le ? est un quantificateur, échappe le (celui dans les paramètres de l'url).
Le . signifie n'importe quel caractère, échappe le dans l'url.

n°1939592
Orission
Posté le 11-11-2009 à 11:24:51  profilanswer
 

C'est à dire l'échapper ?


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
n°1939603
badaboumsp​lash
Posté le 11-11-2009 à 11:37:39  profilanswer
 

Échapper, signifie faire précéder d'un antislash.

n°1939610
Orission
Posté le 11-11-2009 à 11:51:15  profilanswer
 

Code :
  1. preg_match('#<a href="/film/agenda\.html\?week=(.*?)">(.*?)</a>#is', $recup, $sortie_cinema);
 

comme ceci ?

 

car çe ne fonctionne pas quand même :(


Message édité par Orission le 11-11-2009 à 11:53:18

---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
n°1939619
badaboumsp​lash
Posté le 11-11-2009 à 12:06:25  profilanswer
 

Oui, c'est ça.
 
Y'a pas de raison que ça ne fonctionne pas si ton texte $recup est de même format que dans ton 1er message.

n°1939626
Orission
Posté le 11-11-2009 à 12:12:32  profilanswer
 

ben ça ne fonctionne pas :(


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
n°1939641
badaboumsp​lash
Posté le 11-11-2009 à 12:36:40  profilanswer
 

Et pourtant.

 
Code :
  1. $recup = <<<RECUP
  2. \t\t\tDate de sortie cinéma :
  3. \t\t\t<span class="bold">
  4. \t\t\t\t
  5. \t\t\t\t\t\t<a href="/film/agenda.html?week=2009-11-11">11 novembre 2009</a>
  6. \t\t\t\t\t
  7. \t\t\t</span>
  8. RECUP;
  9.  
  10. preg_match('#<a href="/film/agenda\.html\?week=(.*?)">(.*?)</a>#is', $recup, $sortie_cinema);
  11.  
  12. print_r($sortie_cinema);


Message édité par badaboumsplash le 11-11-2009 à 12:38:25
n°1939646
Orission
Posté le 11-11-2009 à 12:51:03  profilanswer
 

J'hallucine, ça fonctionne parfaitement en local, mais pas en live :/


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
n°1939649
badaboumsp​lash
Posté le 11-11-2009 à 13:09:50  profilanswer
 

Tu veux dire que ce simple bout de code fonctionne chez toi en local et pas sur un serveur online ?
 
Hébergeur ?

mood
Publicité
Posté le 11-11-2009 à 13:09:50  profilanswer
 

n°1939660
Orission
Posté le 11-11-2009 à 13:49:47  profilanswer
 

il fonctionne je me suis trompé dans une " :p
 
merci


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
n°1939682
stealth35
Posté le 11-11-2009 à 15:38:18  profilanswer
 

un petit outil simpa pour les regexp
 
http://gskinner.com/RegExr/

n°1939691
Orission
Posté le 11-11-2009 à 16:20:29  profilanswer
 

ah wai sympa
 
merci


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème de regex

 

Sujets relatifs
probleme de regex et preg_replaceprobleme de regex
RegEx : probleme de patternProbleme REGEX et PHP
Probleme boost regex[Réglé] Problème Regex avec c/c d'un tableau
[resolu] problème de regexTout petit problème de regex
REGEX tout con.. mais probleme[résolu]probleme entre fonction et regex
Plus de sujets relatifs à : Problème de regex


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR