使用simple_html_DOM从网页显示div

时间:2012-06-06 23:28:06

标签: php curl simple-html-dom

我正在尝试使用curl和simple_html_DOM在网页上显示一些内容,每当我回显内容时,它只是一个数组,如何让它实际显示html内容?

<?php
echo ("hello");

include 'simple_html_dom.php';

$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "http://catalog.hastingsfilter.com/startautoapps.html");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_REFERER, "http://catalog.hastingsfilter.com/startautoapps.html");

$result = curl_exec ($curl);
curl_close ($curl);
//write contents of $result to file
$File = "page.txt";
$fh = fopen($File, 'w') or die("can't open file");
fwrite($fh, $result);
fclose($fh);
//turn file into dom object
$page = file_get_html("page.txt");
$div = $page->find('div[id=columnright]');
echo $div;

?>

谢谢

2 个答案:

答案 0 :(得分:1)

似乎内部&lt; iframe&gt; 正在弄乱查询。 我不知道为什么简单的html dom表现得那样...... 为什么不将查询更改为:

$div = $page->find("iframe[name='main2']");
echo $div[0]->innertext;

<强>编辑:

您可以像这样更改 .src 属性:

$page = file_get_html("page.txt");
...
$page->find("iframe[name='main2']",0)->src = "foo";
$thehtml = $page->save();
顺便说一句,我直接打电话给&lt; iframe&gt; 来源也得到了 找不到服务器..

答案 1 :(得分:0)

我不确定,但我认为你可能不得不使用

$div->innertext;

获取div的内容。