Mailinglisten-Archive |
Hallo Oliver,
> ich habe ein verzeichnis mit einer index.php4 und diversen anderen
> dateien. die index.php4 soll nun eine verlinkte übersicht über die
> anderen dateien geben und dabei den titel ausgeben, der im title-tag
> steht. gibt es dafür eine schlaue funktion? meta-tags auslesen bringt ja
> nichts :)
Was du machen kannst: Die Links werden als PHP-Array aufgerufen. Jede
einzelne PHP-Datei hat einen Header wie folgt:
<!-- noch vor allen Heads <?php
$titel="Der Titel";
?> -->
dann includest du später eine head.php, die dann echo
"<title>".$titel."</title>"; ausgibt und alle anderen Head-Infos.
Um dann die Titel auszulesen, machst du mit $inhaltderdatei = file ($datei)
ein zeilenweises Einlesen und sobald in der Zeile "$title" steht, hälst du
das ganze an und schnappst dir den Inhalt per substr:
<?php
$dateien = array("index.php","ich.php","und.php","so.php","weiter.php"); //
Namen der Dateien
foreach ($dateien as $datei) { // durchläuft $dateien
$inhalt = file($datei); // öffnet die aktuelle Datei aus $dateien
foreach ($inhalt as $content) // nimmt den gesamten Text und durchläuft
ihn
{
$teil = substr ($content, 0, 5); // nimmt immer die ersten 6 Zeichen
if ($teil = "$titel") // und wenn diese 6 Zeichen "$titel"
sind, dann...
{
$titel = substr ($content, 7, strlen ($content)-2) // gib den Titel
aus: Zeichen 7 bis Ende (...";) minus 2 (...)
echo $titel;
break; // dann die foreach-Schleife hier beenden, damit nicht noch
der gesamte Rest der Datei durchsucht wird.
}
}
}
Es ist wichtig, dass $titel="titel" am Anfang steht. Sonst wird erst das
ganze Array durchlaufen, mit dem gesamten Inhalt, und bei vielen Dateien
dauert das auch lange. Trotzdem ist alles ungetestet...
mfg
Nico
php::bar PHP Wiki - Listenarchive