Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][cURL]cURL i pobieranie wartości DIV'a
Forum PHP.pl > Forum > Przedszkole
5w155
Witam!
Mam problem z wykorzystaniem biblioteki cURL. Chcę pobrać wartość DIV'a (a potem h2 i anchor) oznaczonego w taki sposób:
  1. <div class="dane">
  2. <h2 class="imie">
  3. <a href="/modelka_306/aneta-r.html">Aneta R</a>
  4. </h2>
  5. </div>

Potrzebuję z tego wybrać jedynie wartość "Aneta R".
Oczywiście to jest zewnętrzna strona. Skrypt ma to pobrać do siebie na localhost.
Quantum
wyrażenia regularne (regexp) - preg_match
5w155
Między innymi właśnie po to napisałem ten temat, czyli proszę o pomoc również w tym zakresie. Opanowanie wyrażeń regularnych do takiego zadania zajmie mi zbyt dużo czasu.
amii
Rozumiem, że w wyniku mogą zawierać się tylko duże i małe literki ? Jeśli tak to sprawdź to:

  1. $url = 'www.strona.pl'; //adres strony do przeskanowania jako lancuch znakow
  2.  
  3.  
  4. $pattern = '(?:<h2 class="imie"><a href="\/[a-zA-Z0-9_]+\/[a-zA-Z0-9_]+[\.html]">)[a-zA-Z ]+(?:<\/a><\/h2>)';
  5.  
  6. $ile = preg_match_all($pattern, $url, $matches, PREG_PATTERN_ORDER);
  7.  
  8. for ($i=0; $i<count($ile); $i++) {
  9. echo 'Dopasowanie '. ($matches[0][$i]) . '<br>';
  10. }
5w155
Hm... jakoś nie dostaję nic z tej funkcji. Jaki dostajesz wynik po preg_match'u?
Quantum
ktoś tu chyba zapomniał o pobraniu tej strony cURL-em najpierw, aktualnie skanujesz ciąg "www.strona.pl" winksmiley.jpg
5w155
Może wyglądam na głupka, ale czytać kod to ja też potrafię smile.gif Oczywiście, że wstawiłem w ciąg odpowiednie dane.
amii
Strona to był tylko przykład winksmiley.jpg nie wiem przecież co tam zwracasz w tym curl:

curl_setopt($h, CURLOPT_RETURNTRANSFER, 1); //ustawiasz żeby strona była zwraca w wyniku jako ciąg znaków
$url = curl_exec($h); //i tu właśnie się to dzieje
Quantum
  1.  
  2. $str = '<div class="dane">
  3. <h2 class="imie">
  4. <a href="/modelka_306/aneta-r.html">Aneta R</a>
  5. </h2>
  6. </div>
  7. ';
  8.  
  9. $pattern = '#<a href="/modelka_.*">(.*)</a>#';
  10.  
  11. $ile = preg_match_all($pattern, $str, $matches);
  12.  
  13. var_dump($matches[1]);
  14.  
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.