Du könntest den Input im HTML um eine Spalte erweitern
HTML-Code:
00:00;08:59;guten Morgen;
09:00;17:00;guten Tag;
17:01;23:59;gute Nacht;
(die letzte "Spalte" nach dem abschließenden Semikolon ist hier jeweils leer)
und dann so etwas im Template verwenden
PHP-Code:
<?php
foreach (explode("\n", $this->html) as $line) {
$tokens = explode(';', $line, 3);
$start = (new \DateTime())->setTime(...explode(':', $tokens[0]));
$end = (new \DateTime())->setTime(...explode(':', $tokens[1]));
$now = new \DateTime();
if ($now >= $start && $now <= $end) {
echo $tokens[2];
} else {
echo $tokens[3];
}
}
das die Spalte 3 ausgibt, falls die Filterbedingung bzgl. Start- und Stopzeit zutrifft und ansonsten die Spalte 4 (hier leer also keine Ausgabe).
Ob das allerdings benutzerfreiundlicher ist, musst Du selbst beurteilen. Ich finde, eher nicht.
Lesezeichen