2016-05-18 15 views
0

ich in dem Prozess der Wiederherstellung Preise in Website war istPreise von einer Website bewerten?

Hier mein PHP-Code

<?php 

$adresse1 = "http://fr.camping-and-co.com/location-camping-angles-85750?   pagination=18&_ct=1&_rg=118&_dpt=all&_dt=7&_st=09%2F07%2F2016&_hbc=1&_pn=all&chx=&ox=&ctxy=46.387539%2C-1.399005%2C40&rgx=&stx=&scx=&thx=&pmin=1&pmax=6000&page=1&tri=&order="; 
    $page1 = file_get_contents ($adresse1); // récupérer le contenu de la   page  
    preg_match_all('/partir de(.*)€/',$page1,$matches); 

     for($i=0;$i<count($matches[0]);$i++) 
    { 
    echo "====================>".$matches[0][$i]; 
     echo "</br>" ; 
    } 

    ?>  

das Problem, dass es auf der Website einige Preise sind, die gelöscht werden und nicht die Regel respektieren, die ich setzte in mein Ausdruck Regel

Hier ist die Website: http://fr.camping-and-co.com/location-camping-angles-85750?pagination=18&_ct=1&_rg=118&_dpt=all&_dt=7&_st=09%2F07%2F2016&_hbc=1&_pn=all&chx=&ox=&ctxy=46.387539%2C-1.399005%2C40&rgx=&stx=&scx=&thx=&pmin=1&pmax=6000&page=1&tri=&order=

ich alle Preise erholen wollen!

aber dieses Skript wiederherstellen Preis in diesem Format:

aber nicht die mit diesem Format:

à partir de -20% 729 € 585 €/7 nuits 
+0

brauchst du ** [partiir de (. *?) €] (https://regex101.com/r/mZ6pT1/1) **? – rock321987

+0

@ rock321987, was ich für exemple alle Preise auf der Website erholen 639, 585 Coz 729 gelöscht –

+0

Dies ist die Website: –

Antwort

2

Statt eines regulären Ausdrucks Sie DOMDocument verwenden sollten und suchen Sie die Preise Sie möchten alle auswählen, die die passende css-Klasse price haben:

$adresse1 = "http://fr.camping-and-co.com/location-camping-angles-85750?pagination=18&_ct=1&_rg=118&_dpt=all&_dt=7&_st=09%2F07%2F2016&_hbc=1&_pn=all&chx=&ox=&ctxy=46.387539%2C-1.399005%2C40&rgx=&stx=&scx=&thx=&pmin=1&pmax=6000&page=1&tri=&order="; 
$doc = new DOMDocument(); 
$doc->loadHTMLFile($adresse1); 
$xpath = new DOMXpath($doc); 
$elements = $xpath->query('//*[@class="price"]'); 

/** @var DOMElement $price */ 
foreach ($elements as $price) { 
    echo "====================>" . $price->textContent; 
    echo "</br>\n"; 
} 
+0

es funktioniert @joachim Schirrmacher thx aber es zeigt mir ====================> 528a â,¬ ===== ===============> 606 € am Ende wie kann ich das löschen –

+0

Sie erhalten ein leeres Preisschild als letzten Eintrag? Das ist seltsam, weil es auf der Seite kein solches Element gibt. Verfügen Sie über eine öffentlich verfügbare URL, die die Ausgabe Ihres Skripts anzeigt? –