http header titel auslesen

vandamp

Erfahrenes Mitglied
Hallo,
hab da ein kleines Problem, ich versuche den Titel einer Webseite auszulesen.
Funktioniert auch, aber wie kann ich verhindern, dass mir die ganze Seite angezeigt wird?
*gg* hier geht es um genau zu sein um den Titel von Youtubevideos ;)

PHP:
$woher = 'http://www.youtube.com/watch?v=NIoYhzdXXkA&feature=channel';
$test = file ($woher);
for ($counter = 0; $counter < count($test); $counter++) {
$zeile .= $test[$counter];
if(ereg("<title>", $test[$counter]) || ereg("<TITLE>", $test[$counter])) {
for ($countertitle = $counter; $countertitle < count($test); $countertitle++) {
$titelzeile .= $test[$countertitle];
if(ereg("</title>", $test[$counter]) || ereg("</TITLE>", $test[$counter])) { break; }
}
}
}
$titelzeile = str_replace("<title>", "", $titelzeile); 
$titelzeile = str_replace("<TITLE>", "", $titelzeile);
$titelzeile = str_replace("</title>", "", $titelzeile); 
$titelzeile = str_replace("</TITLE>", "", $titelzeile);
$titelzeile = ereg_replace("(\r\n|\n|\r)", "", $titelzeile);
$titelzeile = substr($titelzeile,25,strlen($titelzeile));
echo "$titelzeile<br>";

Danke
 
Hi,

habe mich mal ein bisschen mit deinem Script gespielt und würde es so lösen:
PHP:
#!/usr/bin/php5
<?php
$woher = 'http://www.youtube.com/watch?v=NIoYhzdXXkA&feature=channel';
$test = file ($woher);
$start = false;
$text = ''; 

for ($counter = 0; $counter < count($test); $counter++) {
  if(preg_match('#\</title\>#i', $test[$counter])) {
    echo "Title end at $counter.\n";
    $start = false;
    break;
  } else {
    if($start) {
      $text .= $test[$counter];
    }   
  }

  if(preg_match('#\<title\>#i', $test[$counter])) {
    echo "Title start at $counter.\n";
    $start = true;
  }
}

$text = preg_replace("#[\r\n\t]|  |youtube#i", "", $text);
$text = preg_replace("#^- #", "", $text);

echo $text . '<br>';
?>

Ein paar mehr RegEx und so läuft es bei mir. Ausserdem würde ich die ereg_* Funktionen nicht mehr verwenden, diese sind nun größtenteils deprecated (Siehe zum Beispiel hier).

<Klugsch_eiß>
Hier geht es nicht um HTTP-Header, sondern um HTML-Header ;)
</Klugsch_eiß>

Gruß
BK
 
Wow Danke,
funktioniert ja perfekt deine Lösung

hmm irgendwie seh ich da keinen großen unterschied zwischen diesen 2 Funktionen, werde aber in Zukunft die neuere in mein Gehirn einbrennen :)

P.S.: schon ok das klugsch_eißen sonst lernt man ja nichts
 
Zurück