现在已经在这方面工作了一段时间,我很难过。我试图从远程网站页面上的特定 div 中提取内容,然后将该 html 插入我自己网站上的 div 中。我知道您不能单独使用 jQuery 的 .ajax、.load 或 .get 方法进行此类操作。
这是远程页面的 HTML:
<html>
<body>
<div class="entry-content">
<table class="table">
...table #1 content...
...More table content...
</table>
<table class="table">
...table #2 content...
</table>
<table class="table">
...table #3 content...
</table>
</div>
</body>
</html>
目标: 我正在尝试从远程页面的第一个表中获取 html。因此,在我的网站上,我希望获取以下 html 并将其放置在 id="fetched-html" 的 div 中:
<table class="table">
...table #1 content...
...More table content...
</table>
到目前为止,这是我使用 PHP 函数的地方:
<?php
function pullRaspi_SDImageTable() {
$url = "http://www.raspberrypi.org/downloads";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($curl);
curl_close($curl);
// Create new PHP DOM document
$DOM = new DOMDocument;
// Load html from curl request into document model
$DOM->loadHTML($output);
// Get 1st table
$output = $DOM->firstChild->getElementsByTagName('table');
return $output;
}
?>
在我的本地网站页面上,最终结果应如下所示:
<div id="fetched-html">
<table class="table">
...table #1 content...
...More table content...
</table>
</div>
这是另一种 PHP 函数的可能性?
<?php
function pullRaspPi_SDImageTable() {
// Url to fetch
$url = "http://www.raspberrypi.org/downloads";
$ch = curl_init($url);
$fp = fopen("raspberrypi_sdimagetable.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
// Write html source to variable
$rasp_sdimagetable = curl_exec($ch);
// Close curl request
curl_close($ch);
return $rasp_sdimagetable;
}
// Then in the head of the html, add this jQuery:
<script type="text/javascript">
$("#fetched-html").load("<?php pullRaspPi_SDImageTable(); ?> table.table:first");
</script>
问题是,这两个功能都不起作用。:( 有什么想法吗?