Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(-1);
- ini_set('display_errors', true);
- $html = <<<HTML
- <!--- Header --->
- <!--- Klasse, Datum, Überschrift --->
- <font size="5" face="Arial">
- <B>[ÜBERSCHRIFT] / [TAG] [WOCHENART]</B>
- </font>
- <BR>
- <font size="6" face="Arial">
- [Klasse]
- <font size="5" face="Arial">
- [Lehrer]
- </font>
- <BR>
- <!--- Tabelle --->
- <TABLE border="3" rules="all" bgcolor="#E7E7E7" cellpadding="1" cellspacing="1">
- <!--- Tabellenkopf --->
- <TR>
- <TD align=center>
- <font size="3" face="Arial">
- <B>Klasse(n)</B>
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- Stunde
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- <B>Fach</B>
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- <B>Raum</B>
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- (Fach)
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- Art
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- Vertretungs-Text
- </font>
- </TD>
- </TR>
- <!--- Tabellen Inhalt | je nach dem was alles vertreten wird wird eine neue Zeile mit dem jeweiligen Inhalt erstellt --->
- <TR>
- <TD align=center>
- <font size="3" face="Arial">
- <B>[Klasse]</B>
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- [Stunde]
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- <B>[Fach]</B>
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- <B>[Raum]</B>
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- [Ersatz-Fach]
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- [Art]
- </font>
- </TD>
- <TD align=center>
- <font size="3" face="Arial">
- [Vertretungstext]
- </font>
- </TD>
- </TR>
- </TABLE>
- <!--- Footer --->
- HTML;
- $domDocument = new DOMDocument();
- @$domDocument->loadHTML($html);
- /*
- * wenn der HTML Code als Datei vorliegt dann
- * $fileName = __DIR__.'/vertretungsplan.html';
- * @$domDocument->loadHTMLFile($fileName);
- *
- */
- $xpath = new DOMXPath($domDocument);
- $titleElement = $xpath->query("//font[@size='5']/b");
- if($titleElement->length > 0){
- $title = $titleElement->item(0)->nodeValue;
- var_dump($title);
- }
- $tableRows = $xpath->query('//tr');
- $result = [];
- foreach ($tableRows as $number => $tableRow) {
- if ($number === 0) {
- //Weil die Tabelle kein TH für Table Head nutzt, müssen wir die erste Zeile übersringen
- $tableData = $xpath->query('./td', $tableRow);
- $tableCaptions = [];
- /**
- * @var DOMElement $datum
- */
- foreach ($tableData as $datum) {
- $tableCaptions[] = trim($datum->nodeValue);
- }
- continue;
- }
- $tableData = $xpath->query('./td', $tableRow);
- $tableValues = [];
- /**
- * @var DOMElement $datum
- */
- foreach ($tableData as $index => $datum) {
- $caption = $tableCaptions[$index];
- $tableValues[$caption] = trim($datum->nodeValue);
- }
- $result[sprintf('%d. Vertretung',$number)] = $tableValues;
- }
- var_dump($result);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement