Souci Regexp

Souci Regexp - PHP - Programmation

Marsh Posté le 27-01-2009 à 14:32:59    

Hello,
est ce que qqun saurait me dire pourquoi il me retourne faux quand :
preg_match('`(^[[:print:]]*)[[:blank:]]([[:digit:]]{5})[[:blank:]]([[:print:]]*)`',$data,$matches)
avec $data : "9 rue des Trois Soeurs 93420 Villepinte"
alors que si $data : "2 place des corporations 34590 Marsillargues"
il me retourne vrai ?
 
Je comprend pas  :pt1cable:


---------------
Aloha
Reply

Marsh Posté le 27-01-2009 à 14:32:59   

Reply

Marsh Posté le 27-01-2009 à 15:01:36    

Moi non plus...
Je viens d'essayer  

Code :
  1. function test($data) {
  2.     echo $data.' => '.preg_match('`(^[[:print:]]*)[[:blank:]]([[:digit:]]{5})[[:blank:]]([[:print:]]*)`',$data,$matches).'<br />';
  3. }
  4. test ("2 place des corporations 34590 Marsillargues" );
  5. test ("9 rue des Trois Soeurs 93420 Villepinte" );

Dans les deux cas, j'obtiens 1.
Le truc drôle, c'est que ça fonctionne aussi avec test (" 93420 " );...

Reply

Marsh Posté le 27-01-2009 à 15:07:31    

Bon, je dois avoir un truc qui bug chez moi alors.
Je vais investiguer.
Mais bon, ça me rassure car je ne comprenais pas :D


---------------
Aloha
Reply

Marsh Posté le 27-01-2009 à 15:44:52    

Trouvé, c'est parce qu'il n'y a pas des espaces mais des retour chariot pour certaines string ! (je recup les données depuis mysql)


---------------
Aloha
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed