这是我到目前为止的代码
<?php
$curl = curl_init('http://www.tesco.com/store-locator/uk/?bID=2136');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$page = curl_exec($curl);
if(curl_errno($curl))
{
echo 'Scraper error: ' . curl_error($curl);
exit;
}
curl_close($curl);
$regex = '/<div itemtype="case_textlist">(.*?)<\/div>/s'; <-- confused with this
if ( preg_match($regex, $page, $list) )
echo $list[0];
else
print "Not found";
?>
我想从我的代码开头的URL中包含开放时间的div中获取信息,但是我不明白我必须在$ regex部分放置以获取开放时间。
只是另一个快速的问题,我试图为另一个网站做这个,但我只是得到这个错误:注意:未定义的偏移:在第16行的H:\ xampp \ htdocs \ dsa \ php2.php中为0 任何想法?
<?php
$curl = curl_init('http://www.masterofmalt.com/contact-us/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$page = curl_exec($curl);
if(curl_errno($curl))
{
echo 'Scraper error: ' . curl_error($curl);
exit;
}
curl_close($curl);
preg_match('/<span itemprop="name">(.*)<\/span>/iU', $page, $list);
echo $list[0];
?>
答案 0 :(得分:0)
这就是我要做的。找到小时框周围的div之间的所有内容。使用“U”模式修饰符使其为“Ungreedy”并在找到第一个结束div标记后停止。
preg_match('/<div class="fb hours">(.*)<\/div>/iU', $page, $list);
然后,在'$ list'变量中,使用$ 1存储匹配的所有内容。
$list[1];
现在您已经完成了整个时间段,使用'preg_match_all'搜索它并将其拉出并将它们放入一个名为'$ opening_times'的数组中。
preg_match_all('/<td colspan="2">(.*)<\/td>/iU', $list[1], $opening_times);
使用$ 1来取出tds之间的所有内容,我们现在有一个时间阵列。
$opening_times_array = $opening_times[1];