www.WebTips.pl: [PHP] Pobieranie linków z źródła strony - www.WebTips.pl

Skocz do zawartości


Strona 1 z 1

[PHP] Pobieranie linków z źródła strony file() czy copy(), file() czy file_get_contents()

#1 Użytkownik nie jest zalogowany   drOdpowiedź 

  • Junior
  • Pip
  • Grupa Użytkownik
  • Postów 49
  • Rejestracja 05 sty 07
  • Miejscowośćlocalhost

Napisano 11 marzec 2010 - 10:18

Witam,
jaki jest najszybszy sposób na odnalezienie linków ze źródła jakiejś strony www?

1. Jak najszybciej pobrać źródło?
Próbowałem file($url) ale samo odczytywanie źródła z serwera zewnętrznego trwało dosyć długo, wydaje mi się, że copy()(kopiujemy na serwer lokalny) i potem funkcja file() na pliku lokalnym działała trochę szybciej. Nie próbowałem z file_get_contents... Ktoś ma jakieś doświadczenie w tej materii lub kiedyś testował?

2. W dwóch pierwszych metodach aby znaleźć linki przeszukuje linijkę po linijce i można preg_matchem czy trochę bardziej zawile explodem próbować a w trzecim przypadku raczej preg_matchem. Która metoda powinna szybciej działać linijka po linijce czy preg_match na całym źródle jako string?

Dziękuję z góry, Pozdrawiam
Pobierz mp3 za darmo, Wyszukiwarka mp3 - 320bit.com
0


Strona 1 z 1

Odpowiedzi do tego tematu

#2 Użytkownik nie jest zalogowany   piotrszarmach 

  • Junior
  • Pip
  • Grupa Użytkownik
  • Postów 36
  • Rejestracja 04 mar 10

Napisano 11 marzec 2010 - 12:43

Spróbuj file_get_contents + preg_match, wydaje mi sie, ze to jest najbardziej wydajna metoda.

Zreszta aby okreslic ktora metoda jest najlepsza napisz po prostu skryp zliczajacy czas wykonania kodu i tyle...
0

#3 Użytkownik nie jest zalogowany   Sebool 

  • Nowicjusz
  • Grupa Użytkownik
  • Postów 10
  • Rejestracja 02 lis 08

Napisano 12 marzec 2010 - 16:27

Ja proponuje użyć funkcji "file_get_contents();"

Pozdrawiam
0

#4 Użytkownik nie jest zalogowany   drOdpowiedź 

  • Junior
  • Pip
  • Grupa Użytkownik
  • Postów 49
  • Rejestracja 05 sty 07
  • Miejscowośćlocalhost

Napisano 14 marzec 2010 - 14:13

Dzięki, popróbuje:D
Pobierz mp3 za darmo, Wyszukiwarka mp3 - 320bit.com
0

#5 Użytkownik nie jest zalogowany   7lancer 

  • Nowicjusz
  • Grupa Użytkownik
  • Postów 10
  • Rejestracja 21 mar 10

Napisano 21 marzec 2010 - 21:39

Witam,
Żeby znaleźć link w tekście można użyć następującego kodu:
// find url

$pattern = "/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i"; 

preg_match_all( $pattern, $wiadomosc, $matches);
//print_r ($matches);

foreach ($matches[0] as $value) {
    $new_value = $bitly->shorten($value);
    $wiadomosc = str_replace( $value , $new_value, $wiadomosc);
}

Testowałem to na różnych linkach i działało.
Pozdrawiam,
adam
7lancer.pl - Zlecenia przez Internet
Masz projekt do wykonania? Programiści, graficy, tłumacze czekają na Twoje zlecenia.
Szukasz pracy? Zarejestruj się i zarabiaj.
0

Strona 1 z 1


Szybka odpowiedź

  

Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych