ďťż
Podstrony
|
telcocafeWitam,mam taki oto problem: załóżmy, że jest sobie takie kod źródłowy html <br /><br /><br> <a href="link1.html">link</a> <br /><br /><br><div></div> <br /> <a href="link2.html">link2</a> <br /><br> <a href="link3.html">link3</a> <h1></h1>tekst<br />tekst tekst! <a href="link4.html">link4</a> i teraz mam pytanie, jak za pomocą funkcji file_get_contents mógłbym automatycznie wejść na te strony i pobrać ich treść? Chciałbym aby kod PHP automatycznie wykrywał linki w kodzie źródłowym i przechodził pod adresy które są w tych linkach zawarte. Linki są różne na różnych podstronach. Wie ktoś jak to ugryźć, jakiś pomysł, kod, sugestia? pozdrawiam <?php $searchText = '<a href="'; $pageContent = file_get_content($address); $pages[]; $i = 0; while(($pos=strpos($pageContent, $searchText)) !== FALSE){ $pageContent = substr($pageContent, $pos); $endPos = strpos($pageContent, '.html'); $linkHref = substr($pageContent, 0, $endPos); $pages[$i] = file_get_content($linkHref); $i++; } for($x = 0; $x < count($pages); $x++){ echo $pages[$x];} ?> Nie wiem tylko, czy powinno być $pageContent = substr($pageContent, $pos); czy $pageContent = substr($pageContent, $pos+9); (9 to długość łańcucha <a href="), ale to możesz sam poprawić jakby nie działało tak. Ogólnie starałem się nie kombinować, pewnie można to by było zrobić lepiej (szybsza wersja np.) ale w PHP już dawno niczego nie robiłem :) PS - ważne! w tym kodzie nie tylko dołączasz plik za pomocą include, ale także oddzielnie przekazujesz skryptowi adres menu. Oczywiście da się to przerobić tak, aby to ten skrypt wyświetlał menu i potem je "przerabiał" - wystarczy to opakować w funkcję i na początku includować dołączany plik. Jak coś potrzebujesz wyjaśnić to pytaj. //Edycja: @poniżej: a nie mówiłem, da się zrobić szybciej :P Użytkownik Tomek92 edytował ten post 24 czerwiec 2008, 11:03 preg_match_all + odpowiedni regExp |
|||
Sitedesign by AltusUmbrae. |