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

发布于 2024-12-09 05:03:13 字数 381 浏览 0 评论 0原文

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

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

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

Possible Duplicate:
Best methods to parse HTML with PHP

I'm using the file_get_contents() function in PHP to retrieve a remote webpage and run it into my table parsing script. But basically, my table parsing script only takes the first table on the page.

The page I'm trying to download has 3 html tables in it, so I was wondering if there was a way of only taking the third table? Most likely I'd want to only take lines 30 to 60 in the HTML file. Does anyone have any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一紙繁鸢 2024-12-16 05:03:14

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

There is no file downloading command that will parse a HTML file for you, and determine the exact chunk that needs to be downloaded. I don't think there is a way around downloading the whole thing, and using a HTML parser to fetch the table afterwards.

傾旎 2024-12-16 05:03:14

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

然后,您只需为所需的表执行 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

You could split your main file up into three separate files (once for each table) which just get 'included' into the original.

Then you will just need to do a file_get_contents for the table that you want.

Edit

As an example, consider this file:

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

 <table id = 'table2'>
 ...
 </table>

 <table id = 'table3'>
 ...
 </table>

And compare it with this file:

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

table1.php will simply hold everything between the table tags for table 1, and similarly for table2.php and table3.php.

If you want table 3, perform your file_get_contents on table3.php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文