更新时间:2023-02-26 10:23:56
也许尝试将每行放入数组中,细胞放入另一个阵列。
require('simple_html_dom.php');
$ html = file_get_html('http://flightplan.romatsa.ro/init/fpl/flightslr/LRCL/');
$ table = $ html-> find('table',3);
$ rowData = array();
foreach($ table-> find('tr')as $ row){
//初始化数组以存储每行的单元格数据
$ flight = array ();
foreach($ row-> find('td')as $ cell){
//将单元格的文本推送到数组
$ flight [] = $ cell->明文;
}
$ rowData [] = $ flight;
}
echo'< table>';
foreach($ rowData as $ row => $ tr){
echo'< tr>';
foreach($ tr as $ td)
echo'< td>'。 $ td。'< / td>';
echo'< / tr>';
}
echo'< / table>';
注意:此解决方案需要 simple_html_dom.php
库。 在此处获取!
I'm trying to parse the arrivals table from here [1] and put in into an array to be able to format it and put it into a table.
I did some research here and there, I've got some code from other questions, but I can't make the array and table look as I'd like.
Anyone can help me out?
<?php
require('simple_html_dom.php');
$html = file_get_html('http://flightplan.romatsa.ro/init/fpl/flightslr/LRCL/');
$table = $html->find('table', 3);
foreach($table->find('tr') as $row) {
// initialize array to store the cell data from each row
$rowData = array();
foreach($row->find('td') as $cell) {
// push the cell's text to the array
$rowData[] = $cell->innertext;
}
echo "<table>";
echo "<td>";
echo $rowData[0]. " ";
echo "</td>";
echo "<td>";
echo $rowData[1]. " ";
echo "</td>";
echo "<td>";
echo $rowData[2]. " ";
echo "</td>";
echo "<td>";
echo $rowData[3]. " ";
echo "</td>";
echo "<td>";
echo $rowData[4]. " ";
echo "</td>";
echo "<td>";
echo $rowData[5]. " ";
echo "</td>";
echo "<td>";
echo $rowData[6]. " ";
echo "</td>";
echo "<td>";
echo $rowData[7]. " ";
echo "</td>";
echo "<td>";
echo $rowData[8]. " ";
echo "</td>";
echo "</table>";
}
?>
Maybe try putting each row into an array and then each cell into another array. Hopefully, that will do what you want.
require('simple_html_dom.php');
$html = file_get_html('http://flightplan.romatsa.ro/init/fpl/flightslr/LRCL/');
$table = $html->find('table', 3);
$rowData = array();
foreach($table->find('tr') as $row) {
// initialize array to store the cell data from each row
$flight = array();
foreach($row->find('td') as $cell) {
// push the cell's text to the array
$flight[] = $cell->plaintext;
}
$rowData[] = $flight;
}
echo '<table>';
foreach ($rowData as $row => $tr) {
echo '<tr>';
foreach ($tr as $td)
echo '<td>' . $td .'</td>';
echo '</tr>';
}
echo '</table>';
Note: this solution requires the simple_html_dom.php
library. Get it here!