Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z tablicami
Forum PHP.pl > Forum > Przedszkole
wpl
Witam

Mam problem

Mam taki kod:
  1. <?php
  2.  
  3. //Adres na który mamy wejsc
  4.   $adres = "http://www.google.pl/search?client=firefox-a&rls=org.mozilla%3Apl%3Aofficial&channel=s&hl=pl&q=nike&lr=&btnG=Szukaj+w+Google";
  5.  
  6. // Plik z proxy
  7.    $proxy = file('proxy.txt');
  8.  
  9. // Liczymy adresy proxy z pliku
  10.    $ile = count($file);
  11.  
  12. // Tworzymy petle (wejdziemy na strone tyle razy ile jest adresów proxy w pliku)
  13. for ($i = 0; $i < $proxy; $i++) {
  14.  
  15. // Wchodzimy na strone z adresu proxy
  16.    $curl=curl_init("$adres");
  17.    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  18.    curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  19.    curl_setopt($curl, CURLPROXY_HTTP, "http://$proxy[$i]");
  20.    $wynik=curl_exec($curl);
  21.  
  22. // Parsujemy linki znajdujace sie na stronie
  23.    preg_match_all('/<h3 class=r><a href=\"(.+?)\" class=l/is',$data,$data2); #google
  24.    
  25. $data1=$data2[0];
  26. $data3=$data2[1];
  27. echo "<pre>";
  28. print_r($data2);
  29. echo "</pre>";
  30. }
  31. ?>


No i wyrzuca mi tylko Komunikat "Array". Jak to naprawić?
ayeo
Witaj!

To nie jest problem z tablicami tylko z wyrażeniem regularnym. Twoje jest niepoprawne stąd pusta tablica wyników.

Pozdrawiam!
wpl
Chyba raczej to nie wyrażenia regularne bo mój wcześniejszy skrypt wyciąga

  1. <?php
  2. $site=file_get_contents("http://www.google.pl/search?client=firefox-a&rls=org.mozilla%3Apl%3Aofficial&channel=s&hl=pl&q=nike&lr=&btnG=Szukaj+w+Google");
  3. $site=str_replace("\n",'',$site);
  4. preg_match_all('/<h3 class=r><a href=\"(.+?)\" class=l/is',$site,$title);
  5.  
  6. echo '<br><pre>';
  7. print_r($title[1]);
  8. echo '</pre><br>';
  9. ?>


I wyrzuca takie coś
Kod
   <pre>Array
   (
       [0] => http://www.nike.com/nikeos/p/nike/language_select/
       [1] => http://www.nike.com/nikeos/p/nike/pl_PL/
       [2] => http://1but.pl/
       [3] => http://www.sklepnike.pl/
       [4] => http://www.butysportowe.net/
       [5] => http://wyborcza.pl/0,81826.html
       [6] => http://www.neosport.pl/
       [7] => http://www.citysport.com.pl/
       [8] => http://www.sarafis.pl/
       [9] => http://pl.wikipedia.org/wiki/Nike
   )
ayeo
Oczywiście, ale poprzedni skrypt usuwa spacje przed preg_match.
wpl
Mam jeszcze jeden problem związany z tym tematem .Chciałem dorobić pętle do tego skryptu która dodaje co 10 .Wymodziłem coś takiego ale nie dziala
  1. <?php
  2. for($a=10;$a<=900;$a=$a+10){
  3.   $adres = ('http://www.google.pl/search?hl=pl&lr=&safe=off&pwst=1&q=nike&start='.$a.'&sa=N');
  4.   }
  5. ?>
erix
Bo musisz jeszcze faktyczne pobieranie wykonać. winksmiley.jpg

U Ciebie zmienia się tylko adres, a gdzie pobieranie?
wpl
Nadal mam z tym problem zmieniłem pętle na tym chodzi
  1. <?php
  2.   $a=10;
  3.  do {
  4.  $a=$a+10;
  5. $site=file_get_contents('http://www.google.pl/search?hl=pl&lr=&safe=off&pwst=1&q=nike&start='.$a.'&sa=N');
  6.  
  7. $site=str_replace("\n",'',$site);
  8. preg_match_all('/<h3 class=r><a href=\"(.+?)\" class=l/is',$site,$title);
  9.  
  10. echo '<br><pre>';
  11. print_r($title[1]);
  12. echo '</pre><br>';
  13. }
  14.  while($a<=900);
  15. ?>

A na tym nie
  1. <?php
  2.  
  3.  
  4. // Plik z proxy
  5.    $proxy = file('proxy.txt');
  6.  
  7. // Liczymy adresy proxy z pliku
  8.    $ile = count($file);
  9.  
  10. // Tworzymy petle (wejdziemy na strone tyle razy ile jest adresów proxy w pliku)
  11.    $a=10;
  12.  do {
  13.  $a=$a+10;
  14.  
  15.   $adres = ('http://www.google.pl/search?hl=pl&lr=&safe=off&pwst=1&q=nike&start='.$a.'&sa=N');
  16.  
  17.  
  18. for ($i = 0; $i < $proxy; $i++) {
  19.  
  20. // Wchodzimy na strone z adresu proxy
  21.    $curl=curl_init("$adres");
  22.    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  23.    curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  24.    curl_setopt($curl, CURLPROXY_HTTP, "http://$proxy[$i]");
  25.    $wynik=curl_exec($curl);
  26.  
  27. // Parsujemy linki znajdujace sie na stronie
  28. $wynik=str_replace("\n",'',$wynik);
  29. preg_match_all('/<h3 class=r><a href=\"(.+?)\" class=l/is',$wynik,$kliklink);
  30. $link=$kliklink[1];
  31.  
  32. echo "<pre>";
  33. print_r($link);
  34. echo "</pre>";
  35. }
  36. }
  37.  while($a<=900);
  38. ?>
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.