phpbar.de logo

Mailinglisten-Archive

AW: [php] title-tag auslesen?

AW: [php] title-tag auslesen?

Nico Haase php_(at)_phpcenter.de
Wed, 13 Feb 2002 18:00:20 +0100


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