Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z Else
Forum PHP.pl > Forum > Przedszkole
mefistofeles
Mamy kodzik do sprawdzania pozycji na naszym guglu:

  1. <?
  2. $url = 'http://www.google.pl/search?q='.$key[$i].'&hl=pl&lr=lang_pl&safe=off&tbs=lr:lang_1pl&prmd=ivl&ei=mYIfTMj4MYKe_gb0j8SlDQ&start=0&sa=N&num=100';
  3.  
  4. $file = file_get_contents($url);
  5.  
  6. $pattern = '%<h3 class="r"><a href="(.*?)" class=l%i'; //wyrazenie do parsowania
  7. preg_match_all($pattern,$file,$return,PREG_SET_ORDER);
  8.  
  9. //wyswietlamy wyniki
  10. $iq=0;
  11. foreach($return as $val)
  12. {
  13. $iq++;
  14. if ( strstr($val[0], $site)) { echo '<p>Pozycja Twojej strony: '.$iq.'</p>';
  15. break;
  16. } else {
  17. echo'Nie znaleziono wśród 100 pierwszych wyników';
  18. }
  19. }
  20.  
  21. }
  22. ?>


Wszystko byłoby ok, gdyby nie to że w sytuacji gdy na 100 pierwszych miejscach nie ma naszej strony dostajemy nie takie info jak trzeba.
"Np jeśli słowo jest na 10 miejscu to 9 razy wydrukuje mi 'Nie znaleziono wśród 100 pierwszych wyników'.
Wiadomo, to else jest w złym miejscu ale w takim razie gdzie mam je wstawić bo mimo licznych prób efektu satysfakcjonującego nie otrzymałem ?

Dzięki za pomoc bo już mnie to lekko frustruje.
vermis
  1. <?
  2. $url = 'http://www.google.pl/search?q='.$key[$i].'&hl=pl&lr=lang_pl&safe=off&tbs=lr:lang_1pl&prmd=ivl&ei=mYIfTMj4MYKe_gb0j8SlDQ&start=0&sa=N&num=100';
  3.  
  4. $file = file_get_contents($url);
  5.  
  6. $pattern = '%<h3 class="r"><a href="(.*?)" class=l%i'; //wyrazenie do parsowania
  7. preg_match_all($pattern,$file,$return,PREG_SET_ORDER);
  8.  
  9. //wyswietlamy wyniki
  10. $iq=0;
  11. $found = false;
  12. foreach($return as $val)
  13. {
  14. $iq++;
  15. if ( strstr($val[0], $site))
  16. {
  17. echo '<p>Pozycja Twojej strony: '.$iq.'</p>';
  18. $found = true;
  19. break;
  20. }
  21. }
  22. if (!$found) {
  23. echo'Nie znaleziono wśród 100 pierwszych wyników';
  24. }
  25.  
  26. }
  27. ?>

mefistofeles
Ciekawy bajer hehe.
Dobre.

Jest już prawie idealnie.
Jedyne co to problem z ostatnim wynikiem.
Jest jeden za dużo.
Tzn. przy wpisaniu 5 słów dostaje dobre wyniki, ale mam też 6 (pusty) wynik, czyli pętla jest jakby
o 1 raz za długo wykonywana.

Można coś na to zaradzić ?
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.