在 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 文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章