Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> $_SERVER['HTTP_REFERER'] - wyodrębnianie słów kluczowych, Poszukiwanie słów kluczowych
smarcz
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 12.05.2005

Ostrzeżenie: (0%)
-----


Witam szanowne gremium!

Szukam podpowiedzi lub rozwiązania problemu. Chciałbym wyodrębniać z ciągu zawartego w zmiennej $_SERVER['HTTP_REFERER'] - słowa kluczowe, które spowodowały odnalezienie mojej strony.

Np.: http://localhost:82/serwis/link.php?action...p;szukaj=Szukaj
(...)?action=znajdz&q=slawek+micha%B3&szukaj=Szukaj
chciałbym wyodrębnić tylko zawartość: q=slawek+micha%B3 - i oddzielić oba słowa kluczowe slawek i michal jako oddzielne.

Chodzi mi o skonstruowanie takiego rozwiązania, które będzie mogło badać przekierowania z google, itp...

co zastosować - wyrażenie regularne, explode - a może coś innego??

Wyrażenie regularne

$string = $_SERVER['HTTP_REFERER'];

preg_match_all("@&(.*?)&@", $string, $ciag);

echo '<pre>';
print_r($ciag);
echo '</pre>';


powoduje taki wynik:

Array
(
[0] => Array
(
[0] => &q=slawek+micha%B3&
)

[1] => Array
(
[0] => q=slawek+micha%B3
)

Z góry dzięki za wszelkie rady!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
camillos
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 26.06.2007

Ostrzeżenie: (0%)
-----


Odpowiedź spóźniona, ale może komuś się przyda.
Ja używam bardziej złożonej funkcji na różne szukarki, wyszukuje też wyszukane pliki graficzne.
  1. <?php
  2. FUNCTION search_keyword ($ref)
  3. {
  4. if(eregi('http://images.google',$ref)) {$sign='imgurl=';}
  5. else if (eregi('google',$ref)&&eregi('navclient',$ref)&&eregi('q=t&',$ref)) {$sing='q=t&';}
  6. else if (eregi('google',$ref)||eregi('szukacz.pl',$ref)||eregi('altavista',$ref)||eregi('netsprint',$ref)||eregi('search.msn',$ref)||eregi('search.live',$ref))
  7. {$sign='q=';}
  8. else if (eregi('onet', $ref))
  9. {$sign='qt=';}
  10. else if (eregi('szukaj.wp.pl',$ref))
  11. {$sign='szukaj=';}
  12. else if (eregi('search.yahoo.com',$ref))
  13. {$sign='p=';}
  14. else
  15. { $nokey='';
  16. return $nokey;
  17. }
  18. if ($sing=='q=t&')
  19. {
  20. $qwe0= explode($sign,$ref);
  21. $qwe1= explode('q=',$qwe0[1]);
  22. } else $qwe1= explode($sign,$ref);
  23. if (eregi("imgrefurl",$qwe1[1]))
  24. {$img=explode("imgrefurl=",$qwe1[1]);
  25. $imge=explode('/',$img[0]);
  26. $im=count($imge);
  27. $qwe3=$imge[$im-1];
  28. $qwe3=str_replace('&','',$qwe3);
  29. }
  30. else if (eregi("&",$qwe1[1]))
  31. {$qwe2=explode('&',$qwe1[1]);
  32. $qwe3=$qwe2[0];
  33. }
  34. else {
  35. $qwe3=$qwe1[1];}
  36. $qwe4 = odgooglanie($qwe3);
  37. echo "klucz: $qwe4 <br>";
  38. return $qwe4;
  39. }
  40. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 08:51