使用file_get_contents仅检索HTML文件的一部分


Retrieving only a section of a HTML file using file_get_contents

可能重复:
用PHP 解析HTML的最佳方法

我使用PHP中的file_get_contents()函数来检索远程网页,并将其运行到我的表解析脚本中。但基本上,我的表解析脚本只获取页面上的第一个表。

我试图下载的页面中有3个html表,所以我想知道是否有办法只使用第三个表?我很可能只想在HTML文件中使用第30到60行。有人有什么建议吗?

没有文件下载命令可以为您解析HTML文件,并确定需要下载的确切块。我认为没有办法下载整个东西,然后使用HTML解析器来获取表。

您可以将主文件拆分为三个单独的文件(每个表一个(,这些文件只会被"包含"到原始文件中。

然后,您只需要为所需的表执行file_get_contents

编辑

例如,考虑以下文件:

 <h1>I am a header</h1>
 <table id = 'table1>
 ...
 </table>
 <table id = 'table2'>
 ...
 </table>
 <table id = 'table3'>
 ...
 </table>

并将其与以下文件进行比较:

<h1>I am a header</h1> 
<?php
    include 'table1.php';
    include 'table2.php';
    include 'table3.php'; 
?>

table1.php将简单地保持表1的表标签之间的所有内容,并且类似地保持table2.phptable3.php的表标签。

如果需要表3,请在table3.php 上执行file_get_contents