我正在恢复网站价格
这是我的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>" ;
}
?>
网站中有一些价格被删除但不尊重我在表达规则中加入的规则的问题
我想收回所有价格!
但是这个脚本以这种格式恢复所有价格:
à partir de 639 € / 7 nuits
但不是那种格式:
à partir de -20% 729 € 585 € / 7 nuits
答案 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";
}