Ergebnis 1 bis 2 von 2
  1. #1
    Avatar von jeko
    jeko ist offline Foren-Gott
    registriert
    03-06-2004
    Ort
    [CH]Vor meinem PC[/CH]
    Beiträge
    3.069

    [PHP] Titel der verlinkten Seite

    Hallo zusammen,

    Die folgende Funktion gibt euch den Titel einer HTML-Seite zurück, die hinter einer URL steht.
    Zu sehen ist der Effekt auch hier im Forum, wenn man einen Link postet und das Forum anstatt der URL gleich den Titel der verlinkten Seite zeigt (http://de.wikipedia.org/wiki/Forum wird zu Forum - Wikipedia)

    PHP-Code:
    function getTitleFromURL($url) {
        
    // string getTitleFromURL ( string url )
        // Gibt den Seitentitel des Dokuments hinter der URL $url zurück
        // Bei Fehler wird die übergebene URL $url zurückgegeben
        //
        // Erfordert: PHP 4 oder höher

        
    $debugMode FALSE// Wenn true, wird bei Fehler nicht die URL $url zurückgegeben, sondern eine Fehlermeldung

        
    $urlregexp '/(http:\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i';
        if (!
    preg_match($urlregexp,$url)) return (!$debugMode)?$url:"Invalid URL ($url)"// Check auf URL
        
    $info parse_url($url);
        
    $host $info['host'];
        
    $get = ( (empty($info['path']))?'/':$info['path'] ) .$info['query'];
        
    $line '';
        
    $file fsockopen($host,80,$eno,$estr,2); // Verbindung mit Host aufnehmen
        
    if (!$file) return (!$debugMode)?$url:"Failed to open socket ($url): PHP says: $eno$estr";
        
    fputs ($file"GET $get HTTP/1.1\r\nHost: $host\r\n\r\n"); // Anfrage schicken
        
    $line=fgets($file,16);
        if (
    $line != 'HTTP/1.0 200 OK' AND $line != 'HTTP/1.1 200 OK') { // Nur bei HTTP 200 weitermachen
            
    fclose($file);
            return (!
    $debugMode)?$url:"Site not available ($url): HTTP status code is not 200";
        }
        while (!
    feof($file) && $line != '') { // Prüfen, ob HTML
            
    $line fgets($file,24);
            if (
    $line == 'Content-Type: text/html') break;
        }
        if (
    $line=='') {
            
    fclose($file);
            return (!
    $debugMode)?$url:"Document contains no HTML($url): Content Type has to be text/html";
        }
        
    $titleregexp '/.*<title>([^<>]*)<\/title>.*/i';
        while (!
    feof($file)) { // Nach <title>-Tag suchen und Titel zurückgeben
            
    $line fgets($file,10240);
            if (
    preg_match($titleregexp,$line,$title)) {
                
    fclose($file);
                return 
    $title[1]; // Titel gefunden, zurückgeben
            
    }
        }
        
    fclose($file);
        return (!
    $debugMode)?$url:"No title-Tag found ($url)"// Titel wurde nicht gefunden

    Hoffe sie funktioniert gut,
    jeko
    Geändert von jeko (09-08-2007 um 17:37 Uhr)
    Arbeit an der Sprache ist Arbeit am Gedanken.
    NoPaste / Format / Analyze / Crypt
    Ich bin ein Schwätzer.

  2. #2
    smithlanger1 ist offline Grünschnabel
    registriert
    29-05-2010
    Beiträge
    1

    AW: Titel der verlinkten Seite

    sounds good to me
    smith

Ähnliche Themen

  1. iFrame Höhe wie externe Seite
    Von sven2 im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 19-08-2005, 14:37
  2. Hyperlink - eine Seite zurück
    Von harito im Forum Allgemeines
    Antworten: 5
    Letzter Beitrag: 12-08-2005, 10:12
  3. Seite kopiert
    Von Toad im Forum Internet & Recht
    Antworten: 8
    Letzter Beitrag: 27-05-2004, 12:11
  4. Seite speichern
    Von Manuela im Forum JavaScript
    Antworten: 24
    Letzter Beitrag: 08-01-2003, 11:47
  5. Antworten: 2
    Letzter Beitrag: 29-08-2002, 14:38

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •