2014-06-08 53 views
0

我想获取一些网站的数据(taste.com.au),但我没有成功获取没有类或id的元素的数据。file_get_contents与preg_match接收错误

这里是我的代码:

$url = "http://www.taste.com.au/recipes/15281/asparagus+with+sun+dried+tomatoes+and+basil"; 
$html = file_get_contents($url); 

这一个工程:

preg_match("/<h1 itemprop=\"name\">(.*)<\/h1>/i", $html, $title); 
echo $title; 

将HTML:

<td class="prepTime"> 
    <em itemprop="prepTime">0:10</em> //Data i want 
    <p>To Prep</p> 
</td> 

,但我不知道怎么去的数据这样的代码:

<td class="cookTime"> 
    <em>0:15</em> //Data i want 
    <p itemprop="cookTime" datetime="PT15M">To Cook</p> 
</td> 

**更新:**我仍然需要帮助,我试过在标签的开头添加后仍然不起作用。

+0

http://www.php.net/manual/en/class.domxpath.php可能有一定的帮助 –

+0

不太清楚和这事,即时通讯相当新的到PHP – spazhead

+0

http://stackoverflow.com/a/16755722/1468708 –

回答

1

或者,您可能希望使用DOMXPath遍历并找到所需的值。考虑下面这个例子:

$url = "http://www.taste.com.au/recipes/15281/asparagus+with+sun+dried+tomatoes+and+basil"; 
$html = file_get_contents($url); 
$dom = new DOMDocument(); 
@$dom->loadHTML($html); 

$finder = new DomXPath($dom); 
$values = $finder->query("//tr[@class='info-row']/td[@class='cookTime']/em"); 

foreach($values as $value) { 
    echo $value->nodeValue; // 0:15 
}