(.*?)<\/td><\/tr><\/table><\/td>(.*?)<\/td><\/tr>/s", $result, $out, PREG_PATTERN_ORDER); // Pour chaque bloc, on découpe les div $nb_bloc = count($out[5]); for( $i=0; $i < $nb_bloc; $i++) { // Chaque bloc [5] est compose d'un ou plusieurs
XXXXX
, representant le code postal preg_match_all("/
(.*?)<\/div>/s", $out[5][$i], $codePostal, PREG_PATTERN_ORDER); // Chaque bloc [7] est compose d'un ou plusieurs
XXXXX
ou

, representant la commune preg_match_all("/

(.[^<]*)((<\/div>)|(

))/is", $out[7][$i], $commune, PREG_PATTERN_ORDER); // On parcours maintenant les resultats pour remplir le tableau $resultat // On est sense trouver un ou plusieurs codes postaux pour une seule commune, toujours. for( $j = 0; $j < count($codePostal[1]); $j ++ ) { $resultat[$idx]['codePostal'] = trim($codePostal[1][$j]); $resultat[$idx]['commune'] = trim($commune[1][0]); echo $resultat[$idx]['codePostal'].'-'.$resultat[$idx]['commune']."\n"; $idx ++; } } } ?>