In breve ho scritto un piccolo parser dom per html che mi va a parsare alcune pagine amazon che mi interessano..
Il problema è che alla fine vorrei ottenere ( come si può vedere dall'echo in basso al codice sotto ) un risultato unitario per ogni prodotto.. Con titolo, link, imm ecc.. Invece attualmente appaiono così..

linklinklinklinklinktitolotitolotitolotitolo...ecc .

Posto il codice per com' è ora, già funzionante, effettua il parsing, come si può vedere scorrendo la pag dei risultati che ne deriva.. Qualcuno sa dirmi in cosa sbaglio? Sto uscendo pazzo!

Codice PHP:
<?php 

$html 
file_get_contents('http://www.amazon.it/s/ref=sr_il_to_luggage?rh=n%3A2454148031%2Cp_8%3A45-100&sort=relevancerank&ie=UTF8&qid=1430756991&lo=none');
$dom = new DOMDocument();
@
$dom->loadHTML($html);

$xpath = new DOMXpath($dom);

$prodotti = array();

        
// Link Prodotto
        
$links $xpath->query('//a[@class="a-link-normal a-text-normal"]');
        
        foreach (
$links as $link) {
                
$linkprod $link->getAttribute('href');
                
$prodotti[] = array( "linkprod" => $linkprod );
        }
        
        
// Link immagine 
        
$images $xpath->query('//img[@alt="Dettagli prodotto"]');
        
        foreach (
$images as $image) {
                
$linkimm $image->getAttribute('src');
                
$prodotti[] = array( "images" => $linkimm );
        }
        
        
// Nome prodotto 
        
$titles $xpath->query('//h2[@class="a-size-base a-color-null s-inline s-access-title a-text-normal"]');
        
        foreach (
$titles as $title) {
                
$titleprod $title->nodeValue;
                
$prodotti[] = array( "titolo" => $titleprod );
        }
        
        
//Prezzo prima 
        
$prezzops $xpath->query('//span[@class="a-size-small a-color-secondary a-text-strike"]');
        
        foreach (
$prezzops as $prezzop) {
                
preg_match_all('/((\d{1,5}),(\d{2}))/'$prezzop->nodeValue $res );
                
$prezzoprima $res[1][0];
                
$prodotti[] = array( "prezzop" => $prezzoprima );
        }
        
        
//Prezzo dopo 
        
$prezzods $xpath->query('//span[@class="a-size-base a-color-price s-price a-text-bold"]');
        
        foreach (
$prezzods as $prezzod) {
                
preg_match_all('/((\d{1,5}),(\d{2}))/'$prezzod->nodeValue $res1 );
                
$prezzodopo $res1[1][0];
                
$prodotti[] = array( "prezzodopo" => $prezzodopo );
        
        }


foreach (
$prodotti as $prodotto):
                   echo 
'<a href="'.$prodotto["linkprod"].'">'.$prodotto["titolo"].'</a><br>
                <img src="'
.$prodotto["images"].'" alt="test" height="150" width="150"><br>
                Prima costava: '
.$prodotto["prezzop"].' , ora viene: '.$prodotto["prezzodopo"].'';
endforeach;

?>
Basta incollare il codice salvarlo e caricarlo da qualche parte e funziona..
Unica cosa che ho notato è che all'interno di $linkprod come delle altre variabili simili, se le metto in un var_dump mi da solo il primo titolo, se faccio un echo mi da tutti i risultati appiccicati.. mha..
Grazie anticipatamente..