Gestion des variables regexp


yannobi
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 26
Inscription: 31 Oct 2005

Gestion des variables regexp

Message le Sam Juil 23, 2011 13:24

Bonjour,

J'ai un léger souci avec la gestion des resultats que me sort mon expression reguliere dans ce script.

LE CAS : Ce script ci-dessous va parser le code html d'une page "http://www.monsite.fr/listing". Cette page contient ce genre de ligne (environ une centaine):
<a href="http://www.siteweb.fr/xxxxxxxxx.htm>yyyyyyyyyy</a>
Mon expression reguliere recupere l'ensemble des "xxxxxxxxx" et des "yyyyyyyyy" dans des array. Jusque là, tout va bien et le script fonctionne (si je rajoute une commande print_r dont mon script, je vois bien l'ensemble de mes données recuperées sur la page).

MON PROBLEME : Mon souci est dans la recuperation de ces données. Je lance une boucle pour afficher chaque valeur "xxxxxx" associé à sa valeur "yyyyyyyyy" issu de l'url dont elles sont extraites dans la page html). Je veux obtenir queqlque chose qui ressemble à ca :
xxxxxxxxxxxyyyyyyyyyyyxxxxxxxxxxyyyyyyyyyyyyxxxxxxxxxxxyyyyyyyyyyyyxxxxxxxxxxxyyyyyyyyy....

Je vois bien que mon souci vient de l'appel que je fais à la variable "ref2" qui represente la valeur yyyyyyyyyy (à la ligne 10). Ce n'est pas comme cela que ca se fait mais je ne trouve pas commment operer.

Si une ame charitable pouvait me sortir de cette embuche....

Code: Tout sélectionner
<?php
   $url_recherche = 'http://www.monsite.fr/listing';
      // Extraction des references
      $chaine_ref = file_get_contents($url_recherche) or die("Could not access file: $url");
      preg_match_all('#<a href="http://www.monsite.fr/(.*?).htm>(.*?)</a>#is',$chaine_ref,$resultat_ref,PREG_PATTERN_ORDER);
      // Boucle de traitement de chaque reference d'annonce trouvée
         foreach ($resultat_ref[1] as $ref)
         {
         $resultat_ref[0] as $ref2;
         echo $ref;
         echo $ref2;
         }
?>


spout
WRInaute accro
WRInaute accro
 
Messages: 4378
Inscription: 14 Mai 2003

Re: Gestion des variables regexp

Message le Sam Juil 23, 2011 14:17

Je pense que tu dois aller faire un tour sur la doc:
http://php.net/manual/fr/control-structures.foreach.php

Code: Tout sélectionner
$resultat_ref[0] as $ref2;

N'a rien à faire là.

Si ton array ressemble à ça (Cela aurait été plus facile avec un exemple de ton print_r()):
Code: Tout sélectionner
Array
(
    [0] => Array
        
(
            [0] => xxxx
            
[1] => yyyy
        
)
    [1] => Array
        
(
            [0] => xxxx
            
[1] => yyyy
        
)
)
 


Alors le code serait:
Code: Tout sélectionner

foreach 
($resultat_ref as $res) {
echo $res[0].$res[1];
}
 


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité