Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] cURL
Forum PHP.pl > Forum > Przedszkole
kaktus283
Witam, poczytałem sobie n/t cURL'a na wortalu oraz innych stronach.
Ogólnie zasadę zrozumiałem, no ale mam kilka problemów z nim.
Więc tak napisałem taki kod:
  1. <?php
  2. $curl = curl_init();
  3. curl_setopt($curl, CURLOPT_URL, "http://www.google.pl/");
  4. curl_exec($curl);
  5. curl_close($curl);
  6. ?>

No i w przeglądarce gdy go odpalam, widzę białe tło (czy tak powinno być?).
I teraz mam pytanko, zakładamy że wszystko działa i mam dużą stronę (chodzi o kod) i chcę z niej pobrać tylko dwie liczby, po ciągu jakichś znaków, jak takie coś mogę wykonać. Co mi będzie potrzebne.
kapuch
Zobacz tak:
  1. $curl = curl_init();
  2. curl_setopt($curl, CURLOPT_URL, "http://www.google.pl/");
  3. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  4. $zrodlo = curl_exec($curl);
  5. curl_close($curl);
  6.  
  7. echo '<textarea>'.$zrodlo.'</textarea>';

Co do drugiego pytania, zeby wyciagnac z calej tresci, tylko jej kawalek, trzeba uzyc funkcji
z odpowiednim wyrazeniem.
kaktus283
Ok, a teraz zakładamy że mamy w googlu linijkę:
  1. <a href="/intl/pl/ads/">Reklamuj się w Google</a>

Jak mogę wydobyć za pomocą tego:


Bo ile dobrze myślę, to muszę wydobyć daną linijkę żeby była mniejsza i dopiero ją rozbić żebym mógł mieć liczby których mi potrzeba?
kapuch
Ale co chcesz z tej linijki wyciagnac?

2. Myslisz sie winksmiley.jpg Nie musisz rozdrabniac tresci, jedyne co musisz, to znalesc jakas prawidlowosc w tym, co chcesz wyciagnac, badz w tym co ta tresc wyciagana otacza smile.gif
Dajmy na to ze z tej linijki chcesz wyciagnac tekst, ktory jest pomiedzy <a></a>, czyli Reklamuj się w Google.
Wtedy preg match wyglada tak:
  1. preg_match_all("#<a href=\"\/intl\/pl\/ads\/\">(.+?)<\/a>#si", $zrodlo, $wynik);
  2. print_r($wynik);

Pisze z palca, ale powinno zadzialac.
Powiem tak, dopiero od niedawna przemoglem sie, zeby zaczac sie uczyc wyrazen regularnych, ale nie zaluje, takze polecam nauke.
Mimo tego, ze na poczatku wydaje sie to krzakami, czarna magia, badz innym ciemnym ustrojstwem - pozniej jak zalapiesz o co w tym chodzi, to jest juz z gorki.
Wole to niz meczenie sie z explode(), czy str_replace() biggrin.gif
kaktus283
Dobra idę poczytać n/t tej funkcji w razie czego napiszę.
Aktualnie ruszyłem z Tym co chciałem, ale pewnie znowu się zatnę smile.gif
kapuch
Sama funkcja preg_match_all(); to nic takiego, tutaj rozchodzi sie o matcha, ktorego musisz ulozyc dla niej.
Dlatego poszukaj sobie kursu wyrazen regularnych na google.
Ja sie ucze z tego:
http://www.regular-expressions.info/

PS. W manualu php.net dla funkcji preg_match_all() masz duzo gotowych przykladow uzytkownikow, do sprawdzania/wyciagania popularnych tresci typu mail, adres www, etc - warto na poczatke sie temu przyjrzec winksmiley.jpg
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.