ugrás a tartalomhoz

PHP-vel urből title és meta tag kiolvasás probléma :(

Anonymous · 2006. Aug. 15. (K), 00.58
PHP-vel szeretnék egy url alapján kiolvasni az oldal title tag tartalmát és (ha van) a meta description tag tartalmát, de néhány urlnél nem hajlandó kiolvasni, és van ahol hibát ír (pl. egy url ami forwardol egy másik urlre).
A kód a következő:
  1. <html>  
  2. <head>  
  3. <title>get title and meta tags</title>  
  4. </head>  
  5. <body>  
  6. <form action="getinfo.php" method="POST">  
  7. <input type="text" name="url">  
  8. <input type="submit" name="check" value="Check It">  
  9. </form>  
  10. <br><br>  
  11. <?  
  12. if ((isset($_POST['check'])) AND ($_POST['url'] != NULL)) {  
  13. // get title from url  
  14. $meta = get_meta_tags($_POST['url']);  
  15. foreach($meta as $key => $tags) {  
  16.  echo $key.' = '.$tags.'<br>';  
  17. }  
  18. // get title from url  
  19. $page_title = "n/a";  
  20. if ($handle = @fopen($_POST['url'], "r")) {  
  21.     $content = "";  
  22.     while (!feof($handle)) {  
  23.         $part = fread($handle, 1024);  
  24.         $content .= $part;  
  25.         if (eregi("</head>"$part)) break;  
  26.     }  
  27.     fclose($handle);  
  28.     $lines = preg_split("/\r?\n|\r/"$content);  
  29.     $is_title = false;  
  30.     $close_tag = ($xhtml) ? " />" : ">";  
  31.     foreach ($lines as $val) {  
  32.         if (eregi("<title>(.*)</title>"$val$title)) {  
  33.             $page_title = $title[1];  
  34.             $is_title = true;  
  35.         }  
  36.         if ($is_titlebreak;  
  37.     }  
  38. }  
  39. echo 'title = '.$page_title;  
  40. }  
  41. ?>  
  42. </body>  
  43. </html>  
Ha esetleg vki tudna segíteni nagyon hálás lennék.
 
1

Kiegészítés a fenti kérdéshez

felyx · 2006. Aug. 15. (K), 14.29
Én írtam a témát, azóta kicsit kikupáltam és konkrétabban megtudom határozni mi a gond, nos az új kód:
  1. function _getmeta($url) {  
  2.     $meta = get_meta_tags($url);  
  3.     $metadescription = $meta['description'];  
  4.     return $metadescription;  
  5. }  
  6. function _gettitle($url) {  
  7.     $html = join ("", file($url));   
  8.     //eregi("<title>(.*)</title>", $html, $tag_contents);   
  9.     $tag_contents = "";  
  10.     preg_match("/<title>(.*)<\/title>/i"$html$tag_contents);   
  11.     $title = $tag_contents[1];  
  12.     return $title;  
  13. }  
Nagy általánosságbanm űködik, asp-ből viszontnem kapok titlet, illetve ha az url redirectel akkor meg is hal :( Nagyra értékelném ha vki tudna javasolni megoldást, Köszönöm