我正在尝试从外部html文件中的div中挑选内容。这是html代码
<some html>
{<div id="responseDiv" style="display:none">
required content
</div>
</some html>
这是我正在使用的PHP代码
include_once('simple_html_dom.php');
$curl_h = curl_init('http://www.example.com/');
curl_setopt($curl_h, CURLOPT_HTTPHEADER,
array(
'User-Agent: NoBrowser v0.1 beta',
)
);
curl_setopt($curl_h, CURLOPT_RETURNTRANSFER, true);
$handle = curl_exec($curl_h);
$html = str_get_html('$handle');
$ret = $html->find('div[id=DivID]');
foreach ($ret as $post)
{
echo $post->outertext;
}
我检查周围,发现$ ret本身是一个空数组。我试过玩其他div ID等但都是相同的结果。我做错了什么?
答案 0 :(得分:2)
此:
$html = str_get_html('$handle');
应该是:
$html = str_get_html($handle);
^-- ^-- no quotes
'
将其转换为字符串,不插入变量。因此,您需要提供文字$
,h
,a
等等作为您的html文档,而不是您刚刚通过curl检索的HTML。
答案 1 :(得分:0)
ajax是你的选择吗?
如果是这样的话:
$.ajax({
type:"GET",
url:"path/to/file.html",
dataType:"html",
success:function(data) {
var out = "";
$(data).find("#div.id.you.want.to.fetch").each(function(loop, item){
out += $(item).html();
});
data = out;
$("#responseDiv").html(data);
},
error:function() {
alert("Error");
}
});
.each()就在那里,所以你可以用它而不是ID