[RegEx] Motif incorrecte ou mauvaise fonction..

Motif incorrecte ou mauvaise fonction.. [RegEx] - PHP - Programmation

Marsh Posté le 01-01-2007 à 18:21:54    

Bonjour,
 
j'essaye de récupérer dans un code source une série d'informations en utilisant ce code :

Code :
  1. preg_match_all("`class=\"itemColG10\">(.*)<font style=\"font-weight:normal;\">&nbsp;&nbsp;v&nbsp;(.*)</font>[</a>|</a><img src=\"/img/v4/fr.gif\" style=\"background-color:#FFF7D9|</a><img src=\"/img/v4/fr.gif\" style=\"background-color:#FFFFFF]\">
  2.   </div>
  3.   <div class=\"itemColG21\" style=\"font-size:11px\";>(.*)</div>
  4.   <div class=\"itemColG2\">
  5.   Licence:&nbsp;<font class=\"edito\">(.*)</font>&nbsp;&nbsp;&nbsp;Date de la dernière version:&nbsp;<font class=\"edito\">(.*)</font><br>
  6.   Taille:&nbsp;<font class=\"edito\">(.*)&nbsp;Mo</font>&nbsp;&nbsp;&nbsp;
  7.   OS:&nbsp;<font class=\"edito\">(.*)</font>`m", $test, $matches);
  8.   print_r($matches);


 
Seulement le print_r m'affiche ceci :
 
Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) [3] => Array ( ) [4] => Array ( ) [5] => Array ( ) [6] => Array ( ) [7] => Array ( ) )
 
Je ne suis pas très doué en RegEx donc le problème vient sans doute de là, ou alors j'utilise peut-être la mauvaise fonction ?
 
Merci de m'éclairer sur la nature du problème.


Message édité par Sorgues_ le 01-01-2007 à 18:24:02
Reply

Marsh Posté le 01-01-2007 à 18:21:54   

Reply

Marsh Posté le 01-01-2007 à 19:14:19    

Si tu nous montrais le fameux "code source" (contenu dans ta variable "$test", je suppose), ce serait plus simple.  [:figti]  
 
Quant à ta regexp, elle semble bien violente... ça peut sûrement se réduire un peu en foutant du .* çà et là (en mode paresseux) et/ou en scindant ça en plusieurs regexp. C'est de toute façon le genre de trucs qui ne marche tout de suite plus dès que le code en question est soumis à une minuscule modification.  [:spamafote]  
 
Tu devrais commencer par passer ça en mode "paresseux" (option U sur ton masque), sinon déjà le dernier </font> risque de pas matcher le bon.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 01-01-2007 à 19:49:47    

Le code source contient des répetitions de mon masque.. Le problème est que je dois récupérer plusieurs infos différentes qui ne pourraient pas être décrite pas une seul regex, enfin je pense..

Reply

Marsh Posté le 01-01-2007 à 21:41:01    

Résolu après réflexion .. J'ai trouvé bien plus simple merci.

Reply

Sujets relatifs:

Leave a Replay

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