Letztes Listenelement ausblenden

Hi ... sorry, dass der Betreff nicht eindeutig ist....zudem bin ich auch noch ... :D

Ich habe folgendes Problem...

Ich habe eine Beschreibung die von Artikel zu Artikel variirt und aus einer .txt-Datei per file() ausgelesen wird. Ich habe Pro Zeile ein Listenelement ( <li></li> )

die ausgabe geschieht folgendermaßen

PHP:
<? 
$zeilen = @file("uploads/$ware.txt");
 
$zeile1 = "$zeilen[2]";
$zeile2 = "$zeilen[3]";
$zeile3 = "$zeilen[4]";
$zeile4 = "$zeilen[5]";
$zeile5 = "$zeilen[6]";
$zeile6 = "$zeilen[7]";
$zeile7 = "$zeilen[8]";
$zeile8 = "$zeilen[9]";
$zeile9 = "$zeilen[10]"; 
$zeile10 = "$zeilen[11]";			
$zeile11 = "$zeilen[12]";		
$zeile12 = "$zeilen[13]";		
$zeile13 = "$zeilen[14]";
$zeile14 = "$zeilen[15]";	
$zeile15 = "$zeilen[16]";	
		
;?>
<p class="Stil8"><? if(empty($zeilen[1]) == "1"){echo "$zeilen[1]";}?></p>
<ul>
<? if(empty($zeile1) == false){echo  "<li>$zeile1</li>";}?>
<? if(empty($zeile2) == false){echo  "<li>$zeile2</li>";}?>
<? if(empty($zeile3) == false){echo  "<li>$zeile3</li>";}?>
<? if(empty($zeile4) == false){echo  "<li>$zeile4</li>";}?>
<? if(empty($zeile5) == false){echo  "<li>$zeile5</li>";}?>
<? if(empty($zeile6) == false){echo  "<li>$zeile6</li>";}?>
<? if(empty($zeile7) == false){echo  "<li>$zeile7</li>";}?>
<? if(empty($zeile8) == false){echo  "<li>$zeile8</li>";} ?>
<? if(empty($zeile9) == false){echo  "<li>$zeile9</li>";}?>
<? if(empty($zeile10) == false){echo  "<li>$zeile10</li>";}?>
<? if(empty($zeile11) == false){echo  "<li>$zeile11</li>";}?>
<? if(empty($zeile12) == false){echo  "<li>$zeile12</li>";}?>
<? if(empty($zeile13) == false){echo  "<li>$zeile13</li>";}?>
<? if(empty($zeile14) == false){echo  "<li>$zeile14</li>";}?>
<? if(empty($zeile15) == false){echo  "<li>$zeile15</li>";}?>
</ul>

Die .txt-Dateien haben insgesamt max 16 Zeilen Inhalt, wovon die letzten paar immer(meistens) leer sind.


NUN MEIN PROBLEM:
Wie kriege ich es hin, dass die leeren Zeilen komplett ignoriert werden? Denn so wie es jetzt aufgebaut ist,steht am ende immer noch ein letzter Punkt (vom <li></li>) ohne irgendwelchen Text!

Bitte um Hilfe!


p.s. ich weiss, dass mein Script unnötig aufwendig ist, aber wie gesagt... ich bin noch ein amateur.
 
Ließ doch einfach die ganze Datei ein und vereinbare irgendnen Trennzeichen. Dann packst du das ganze per split() oder so in nen array und ließt dann dass array aus (wenn du das mit der länge des arrays dynamisch veränderst sollte das keine probleme machen.)
Aber so wie dus jetzt hast ist das ne menge mehr code als nötig...

Ich bin jetzt nicht so viel mit php unterwegs aber die ansätze sollten laufen...
mfg,
Orbit
 
@ Orbit:

die .txt dateien habe sind bereits erstellt (ca. 500 dateien) ...da ein trennzeichen einfügen ist ziemlich aufwendig...


@kuddeldaddeldu

danke für den ansatz, aber wie wende ich array_filter und foreach in diesem fall konkret an?

kannst du mir das vielleicht erläutern? oder ein beispiel geben?
 
Hi,

auf die Schnelle ohne zu testen:

PHP:
array_filter($zeilen, create_function('$value', 'return trim($value) != "";'));
foreach($zeilen as $value) {
   echo '<li>' . $value . '</li>';
}

LG
 
bin grad beim meinem schneggsche angekommen... kann hier nichts testen, aber vielen dank vorerst... werde morgen über (hoffentlichen) Erfolg oder Misserfolg berichten.

bis dahin... gute nacht!
 
Zurück