在 PHP 中读取 HTML 文件 [关闭]

Posted

技术标签:

【中文标题】在 PHP 中读取 HTML 文件 [关闭]【英文标题】:Reading HTML file in PHP [closed] 【发布时间】:2018-01-18 12:06:12 【问题描述】:

我目前是一名学生,正在为 Monash 开发一个在线课程规划网站

我需要上传一个文件(学生的非官方记录),一旦我点击上传,系统必须扫描 html 文件并从第一个(学术记录到最后一个)读取表格不完整,必须评估成绩,如果是P,C,D,HD,系统会自动为学生划过该单元,如果学生不及格,则为N,系统必须自动突出显示该单元为了告诉学生需要重新做单元

当从 Monash 官方网站保存学术记录时,它会自动保存为 HTML,所以我无法更改它

(注意是学生下载以后使用,不是程序员,所以可能不知道怎么转换)

【问题讨论】:

请联系mininal, complete and verifiable example 感谢您提供有关您在做什么的概述。你有什么特别的问题吗? 您需要提供一个示例 html 文件、解析该文件的当前 php 代码,并且您需要描述您遇到的任何错误以及您遇到的任何错误。在当前的格式中,这个问题看起来好像您希望我们为您从头开始实现此 html 解析功能。这不会发生。 我认为您可以使用一些字符串查找函数来构建逻辑。检查 PHP 手册。 【参考方案1】:

像这样 - 读取文件?

<?php
$text= file_get_contents('yourfile.htm');
echo $text;
?>

一旦你得到它,你就可以解析 HTML - 见这里: PHP Parse HTML code

【讨论】:

谢谢,会从那里尝试我有这个: 请将问题标记为已回答,这样它就不会再显示为打开了【参考方案2】:

您可以将 HTML 加载到 DOMDocument 中,然后遍历文档节点以提取信息。

我脑海中的一个简单例子(没有测试它的想法):

$document = new DOMDocument();
$document->loadHTMLFile("path-to-your-html-file.html");
$tableElement = $document->getElementById("your-table-id");
$allTableRows = $tableElement->getElementsByTagName("tr");
foreach($allTableRows as $tableRow) 
    $allTableCellsInThisRow = $tableRow->getElementsByTagName("td");
    $firstCell = $allTableCellsInThisRow->item(0);
    $secondCell = $allTableCellsInThisRow->item(1);
    // and so on ..
    // do your processing of table rows and data here

链接

http://php.net/manual/de/domdocument.loadhtmlfile.php http://php.net/manual/de/class.domnodelist.php

【讨论】:

【参考方案3】:

你可以试试这段代码:

https://www.w3schools.com/php/func_string_money_format.asp

Here

<?php
$file = fopen("test.html","r");
echo fgets($file);
fclose($file);
?>

试试:

readfile("/path/to/file");

echo file_get_contents("/path/to/file");

【讨论】:

以上是关于在 PHP 中读取 HTML 文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Java程序读取html页面并将其HTML代码保存在文本文件中[关闭]

php 文件函数

3分钟学会,学会用Python正确读取大文件

PHP读取文件内容的五种方式

php基础系列之 数据的存储和读取

Python文件操作:文件的打开关闭读取写入