2014-11-02 59 views
0

以下simple_html_dom问题是我的代码:与查找特定类

<?php 
include('simple_html_dom.php'); 

$rowdate; 

$html = new simple_html_dom(); 
$html->load_file('http://www.forexfactory.com/calendar.php'); 

foreach($html->find('.calendar_row') as $e) 
{ 

$date=$e->find('span.date'); 
if ($date[0] != "") 
    { 
    $rowdate=$date[0]; 
    } 
$time=$e->find('.time'); 
$currency=$e->find('.currency');  
$impact=$e->find('.impact'); 
$event=$e->find('.event'); 

echo $rowdate;echo ","; 
echo $time[0];echo ","; 
echo $currency[0];echo ","; 
echo $impact[0];echo ","; 
echo $event[0]; 
echo "<br>";  

} 

上面的代码工作正常,但是$的影响并不是在所有而如果你在浏览器中直接打开网址,看到显示源代码中,我们可以看到每个calendar_row中存在影响类

任何人都可以请我指导我做错了什么?

+0

影响类存在,但这些单元格如下所示:''。换句话说,它们不包含文本,只有一个空的span元素。 – GolezTrol 2014-11-02 13:35:28

+0

嗨@GolezTrol,获得价值的最佳方式是什么?我只需要显示影响程度,高,中,低。 – 2014-11-02 14:37:57

回答

1

相反的:

$impact = $e->find('.impact'); 
echo $impact[0]; 

你想:

$impact = $e->find('.impact', 0); 
echo $impact; 

而且你可能真的

$impact = $e->find('.impact span', 0)->class; 

阅读简单的HTML DOM文档,如果不这样做理解为什么。

+0

嗨,谢谢!这是行得通的,现在将阅读文档来理解背后的原因。 – 2014-11-03 04:56:25