Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] przechodzenie do onośników
Forum PHP.pl > Forum > Przedszkole
zakaru
Witam,
mam taki oto problem:
załóżmy, że jest sobie takie kod źródłowy html
  1. <br /><br /><br>
  2. <a href="link1.html">link</a>
  3. <br /><br /><br><div></div>
  4. <br />
  5. <a href="link2.html">link2</a>
  6. <br /><br>
  7. <a href="link3.html">link3</a>
  8. <h1></h1>tekst<br />tekst tekst!
  9. <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
sowiq
Wyrażenia regularne PHP smile.gif

http://pl.php.net/preg-match
http://4programmers.net/PHP/Wyra%C5%BCenia...lar_Expression)

http://www.google.pl/search?hl=pl&q=wy...egularne+%2Bphp

[edit]
Ew. parsowanie XML, jeżeli strony są napisane poprawnie w XHTML.
zakaru
okej kumam... wpadlem na to, ze moznaby zostawiac tylko znaczniki
  1. <a href=""></a>

i oddzielic je np znacznikiem <br> a potem bym juz mogl wylapac reszte czyli odnosnik itp... tylko jak wylapac tylko te:
  1. <a href=""></a>


z wyrazeniami regularnymi do czynienia nie mialem... bylby ktos w stanie pomoc?
sowiq
  1. <?php
  2. $tresc = file_get_contents("http://adres_strony");
  3.  
  4. preg_match_all("/<a(.+?)href=\"(.+?)\"(.*?)>(.+?)</a>/", $tresc, $regs);
  5.  
  6. print_r($regs[2]);
  7. ?>
zakaru
wywala mniej wiecej cos takiego:
  1. Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => [10] => [11] => [12] => [13] => [14] => [15] => [16] => [17] => [18] => [19] => [20] => [21] => [22] => [23] => [24] => [25] => [26] => [27] => [28] => [29] => [30] => [31] => [32] => [33] => [34] => [35] => [36] => [37] => [38] => [39] => [40] => [41] => [42] => [43] => [44] => [45] => [46] => [47] => [48] => [49] => [50] => [51] => [52] => [53] => [54] => [55] => [56] => [57] => [58] => [59] => [60] => [61] => [62] => [63] => [64] => [65] => [66] => [67] => [68] => [69] => [70] => [71] => [72] => [73] => [74] => [75] => [76] => [77] => [78] => [79] => [80] => [81] => [82] => [83] => [84] => [85] => [86] => [87] => [88] => [89] => [90] => [91] => [92] => [93] => [94] => [95] => [96] => [97] => [98] => [99] => [100] => [101] => [102] => [103] => [104] => [105] => [106] => [107] => [108] => [109] => [110] => [111] => [112] => [113] => [114] => [115] => [116] => [117] => [118] => [119] => [120] => [121] => )
sowiq
Jasne, już poprawiłem kod. Sorry winksmiley.jpg
zakaru
dzieki wielkie smile.gif
oj chyba zatrzymam sie przy tych wyrazeniach regularnych bo widze, ze maja duza moc biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.