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

时间:2011-10-11 20:07:17

标签: php file-get-contents html-table

  

可能重复:
  Best methods to parse HTML with PHP

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

我正在尝试下载的页面中有3个html表格,所以我想知道是否有办法只采取第三个表格?我很可能只想在HTML文件中使用30到60行。有没有人有任何建议?

2 个答案:

答案 0 :(得分:0)

没有文件下载命令可以为您解析HTML文件,并确定需要下载的确切块。我不认为有一种方法可以下载整个内容,然后使用HTML parser来获取表格。

答案 1 :(得分:0)

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

然后你只需要为你想要的表做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,请在file_get_contents

上执行table3.php