2016-05-18 6 views
0

я был в процессе восстановления цен на веб-сайтеВосстановление цен с сайта?

Вот мой PHP код

<?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>" ; 
    } 

    ?>  

проблема, что на сайте есть цены, которые будут удалены и не соблюдают правила, что я положил в мое выражение правило

Вот сайт: 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=

Я хочу, чтобы восстановить все цены!

, но этот сценарий восстановить все цены в этом формате:

, но не те, с этим форматом:

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

вам нужно ** [Partir де (. *?) €] (https://regex101.com/r/mZ6pT1/1) **? – rock321987

+0

@ rock321987 что нужно для восстановления всех цен на сайте для примера 639, 585 coz 729 удален –

+0

это сайт: –

ответ

2

Вместо регулярного выражения следует использовать DOMDocument и посмотреть на цены вы хотите получить, выбрав все те, которые имеют соответствующий класс css price:

$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

Это работает @joachim Schirrmacher thx, но он показывает мне ====================== ===============> 606A â,¬ Â â,¬ в конце концов, как я могу удалить это –

+0

Вы получаете пустой ценник в качестве последней записи? Это странно, потому что на странице нет такого элемента. У вас есть общедоступный URL-адрес, который показывает результат вашего скрипта? –