Thomas Schmieder: Metadaten in PHP lesbar?

Hallo Leute,

kann man in PHP den Metadatenbereich einer HTML-Datei auslesen, oder muss man dafür einen Umsteiger nehmen?

Leider stand nichts darüber im Forum.

Grüße aus http://www.braunschweig.de

Tom

  1. array get_meta_tags ( string filename [, int use_include_path])

    Öffnet filename und untersucht diese Zeile für Zeile auf das Vorkommen von <meta>-Tags der Form Beispiel 1. Meta-Tags Beispiel:

    <meta name="author" content="Name">
    <meta name="tags" content="PHP3-Dokumentation">
    </head> <!-- Ende der Untersuchung -->

    (Eine auf einem MAC erzeugte Datei kann nicht unter UNIX auf Meta-Tags untersucht werden, da die Zeilenenden anders sind.)

    Der Wert der name-Eigenschaft wird Schlüssel, der Wert der content-Eigenschaft wird Wert des zurück gegebenen Arrays. Dadurch können Sie gewöhnliche Array-Funktionen nutzen, dieses zu durchlaufen oder einzelne Werte anzusprechen. Sonderzeichen innerhalb der name-Eigenschaft werden durch ´_´ ersetzt, der Rest wird in Kleinbuchstaben umgewandelt.

    Ist use_include_path auf 1 gesetzt, wird PHP versuchen, die Datei anhand des Standard-Include-Pfades zu öffnen.

  2. Hallo!

    kann man in PHP den Metadatenbereich einer HTML-Datei auslesen, oder muss man dafür einen Umsteiger nehmen?

    Man kann mit PHP alles auslesen was man möchte, mit regulären Ausdrücken.

    Man könnte das z.B. so machen(ungetestet):

    preg_match_all ("/<meta name="(.*?)" content="(.*?)">/", $html, $matches);

    for ($i=0; $i< count($matches[0]); $i++) {
      echo $matches[1][$i].": ".$matches[2][$i]."\n";
    }

    Grüße
    Andreas

    PS: Interessant zu diesem Thema: http://www.php.net/manual/en/function.preg-match-all.php