我试图解析特定 div 标签内的信息,由于某种原因,它一直在输出数组而没有信息,我终生无法弄清楚。
这就是我所拥有的。
$html = file_get_html('http://finance.yahoo.com/q/hp?s=^DJI&a=05&b=4&c=2012&d=06&e=6&f=2012&g=d');
$i=0;
$classes = array('red', 'blue', 'yellow', 'green', 'black', 'purple', 'grey');
$ci = 0;
foreach ($html->find('.yfnc_datamodoutline1 .yfnc_tabledata1') as $element){
$symbols = $element->outertext;
$hp = '<div class="'.$classes[$ci].'">'.$symbols.'</div>';
$ci++;
if($ci == count($classes)) $ci = 0;
preg_match_all("'<div class=\"black\">([^<]*)</div>'si", $hp, $match);
print_r($hp);
//print_r($match);
}
现在,如果我打印出 $hp 显然有带有 div 标签的信息,我试图从中获取信息,输出看起来像这样。
<div class="red">Jul 6, 2012</div>
<div class="blue">12,889.40</div>
<div class="yellow">12,889.40</div>
<div class="green">12,702.99</div>
<div class="black">12,772.47</div>
<div class="purple">967,600</div>
<div class="grey">12,772.47</div>
<div class="red">Jul 5, 2012</div>
<div class="blue">12,941.85</div>
<div class="yellow">12,961.30</div>
<div class="green">12,852.24</div>
<div class="black">12,896.67</div>
<div class="purple">978,000</div>
<div class="grey">12,896.67</div>
black 是我试图获取的 div,但是当我尝试在 preg_match 函数中打印 $match 时,我不断得到看起来像这样的数组
Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) )
非常感谢任何帮助,您也可以在此处运行代码并测试它,只需打开索引文件即可。