Ergebnis 1 bis 2 von 2
Thema: Titel der verlinkten Seite
-
02-08-2007, 22:33 #1
[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
}
jekoGeändert von jeko (09-08-2007 um 17:37 Uhr)
-
29-05-2010, 10:54 #2
Grünschnabel
- registriert
- 29-05-2010
- Beiträge
- 1
AW: Titel der verlinkten Seite
sounds good to me
smith
Ähnliche Themen
-
iFrame Höhe wie externe Seite
Von sven2 im Forum JavaScriptAntworten: 0Letzter Beitrag: 19-08-2005, 14:37 -
Hyperlink - eine Seite zurück
Von harito im Forum AllgemeinesAntworten: 5Letzter Beitrag: 12-08-2005, 10:12 -
Seite kopiert
Von Toad im Forum Internet & RechtAntworten: 8Letzter Beitrag: 27-05-2004, 12:11 -
Seite speichern
Von Manuela im Forum JavaScriptAntworten: 24Letzter Beitrag: 08-01-2003, 11:47 -
Fenster aus Seite A öffnen und aus Seite B schliessen
Von mc7121 im Forum JavaScriptAntworten: 2Letzter Beitrag: 29-08-2002, 14:38
Lesezeichen