tutorials.de Buch-Aktion 05/2012
  • Codeschnipsel: Metadaten mit PHP auslesen

    Hallo,

    heute zeige ich euch wie ihr die HTML-Metadaten, wie z.b. Description, auslesen könnt.

    PHP-Code:
    <?php

    //Die Variable wird in der Form benötigt
        
    $url $_POST['url'];

    //Überprüft ob die Variable URL Leer ist
    if ($url == ""){
    //wenn ja wird die Form ausgegeben
    ?>
    <!--- Action wird nicht benötigt da es gleich ausgewertet wird -->
    <form action="" method="post">

    <input type="text" name="url" value="http://" />
    <!-- per Eingabe Taste wird die Variable URL Gesetzt und über POST an das Script übergeben -->
    </form>
    <?php

    }
    else {
    $array get_meta_tags($url);

    //Hier wird...
    $follow $array[robots];

    //....gberprüft ob im Robots Meta tag index, follow oder noindex, follow gesetzt ist
    if ($follow == "noindex, follow"){

    //noindex, follow ist gesetzt und es wird nur ein kleiner Text ausgegeben
    echo "
    Kein Folow
    "
    ;

    //index, follow wurde gesetzt und wird ausgewertet
    else {
    echo 
    $url;
    echo 
    "<br>";
    echo 
    "Keywords:<br>";
    //Keyword werden aus z.b. der index.php geholt so funktioniert das mir jedem nach folgenden Tag
    echo $array[keywords];
    echo 
    "<br>Sprache:<br>";
    echo 
    $array[language];
    echo 
    "<br>Beschreibung:<br>";
    echo 
    $array[description];
    }}
    ?>
    schöne grüße TheHacker
    javaDeveloper2011 bedankt sich. 


    Kommentare 4 Kommentare
    1. Avatar von ComFreek
      ComFreek -
      Hi,

      eigentlich ganz simples* Tutorial, trotzdem nützlich!

      Habe allerdings noch ein paar Tips für dich und andere

      Du überprüfst nicht mit isset(), ob "url" in $_POST existiert. Dies wird dir ein E_NOTICE geben, sofern du das Error Reporting ganz angeschaltet hast.

      Und in der Zeile nach get_meta_tags() sowie im letzten Befehlsblock greifst du ohne Anführungsstriche auf ein Array-Element zu. Funktioniert an sich, sollte aber denn noch nicht gemacht werden.

      Außerdem gibst du die Keywords und die URL "einfach" so aus. Die könnten theoretisch HTML-Code enthalten. Ist in dem Fall eigtl. nicht nötig, aber generell bitte mit htmlspecialchars($str, ENT_QUOTES); escapen.


      *) nicht negativ gemeint.
    1. Avatar von thehacker
      thehacker -
      Ok danke und ist ja net negative zu lesen

      und ja ok danke ich lerne ja Tutorials Schreiben gerade erst
    1. Avatar von Entwicklerpages
      Entwicklerpages -
      Echt nicht schlecht, aber ein Fehler ist mir dennoch aufgefallen:
      Es gibt auch Seiten (eta das feine Dokument was ich dir geschikt hab) die keine description haben.
      Php juckt das zwar scheinbar nicht, aber einen eintrag in einer gewissen Logdatei gibt es dennoch. Und gerade diese versuche ich immer leer zu halten. Vielleicht koennte man das ganze mit ner foreach schleife verbessern?
    1. Avatar von thehacker
      thehacker -
      @ Entwicklerpages
      ja natürlich aber es soll nur zeigen wie es in etwa geht...
    Kommentare Kommentar schreiben

    Klicke hier, um dich anzumelden

    Wie heißt die Hauptstadt der Bundesrepublik Deutschland?