Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwarka na statycznej stronie www
inuma
post 10.06.2019, 11:53:34
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 10.06.2019

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


Szukam prostego skryptu, który realizowałby prościutkie wyszukiwanie na podstronach www. (Nie w bazie mysql!) Stronę mam bez bazy, tylko html i css, mogę przerobić na php. Chodzi mi o samo okienko "search", wyniki na osobnej podstronie, jeden pod drugim z kawałkiem tekstu z "otoczenia" znalezionej frazy

znalazłem taki prosty kod:

  1. <?php
  2. $gdzie_szukac = 'http://domena.tld';
  3. echo '<a target=_blank href='."$gdzie_szukac".'/>'.$gdzie_szukac.'</a>';
  4. $tekst = file_get_contents( $gdzie_szukac );
  5. $wzorzec = '/szukany_ciag/';
  6. preg_match_all($wzorzec, $tekst, $wyniki);
  7. if (count($wyniki[0]) > 0) {
  8. echo ' - znalazlem';
  9. }
  10. else echo ' - nie znalazlem';
  11. ?>


Chciałbym jednak zmienić
  1. echo ' - znalazlem';


na wyświetlanie szukanego stringa wraz z kilkoma słowami wcześniej i kilkoma później. I jeśli są, wyświetlanie wielu takich odpowiedzi jedna pod drugą nie na oddzielnej stronie, ale na stronie gdzie jest formularz wyszukiwania
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sratatata2
post 12.06.2019, 20:52:15
Post #2





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 12.06.2019

Ostrzeżenie: (10%)
X----


Cytat(inuma @ 12.06.2019, 17:04:06 ) *
Jak to zastosować do strony? Chcę umieścić formularz wyszukiwania na stronie index i jeszcze kilku innych i niech przeszukuje katalog z wyłączeniem niektórych plików (graficznych i innych). Jak uruchamiać te funkcje?
Ten kod jest dla mnie zbyt skomplikowany.


czy umieści ten kod w osobnym pliku np search.php i uruchamiać go post?


Cytat(inuma @ 12.06.2019, 17:04:06 ) *
Ten kod jest dla mnie zbyt skomplikowany.


Jesli gotowy przyklad jest dla Ciebie skomplikowany to moze sobie daruj.

Przyklad posiada tablice gdzie podajesz nazwy plikow ktore nie chcesz otwierac do przegladania.

  1. <?php
  2.  
  3. function ShowAllTree($main)
  4. {
  5.  
  6. $deny = array('index.php', 'index2.php', 'znajdz.php'); // pliki ktorych nie chcesz
  7. $sll = array();
  8.  
  9. $dir = scandir($main);
  10.  
  11. foreach($dir as $file)
  12. {
  13. if($file != '.' && $file != '..' && (!in_array($file, $deny)) && (substr($file,-strlen('.php'))=='.php') )
  14. {
  15. if(!is_dir($file))
  16. {
  17. $all[] = $file;
  18. }
  19.  
  20. }
  21. }
  22.  
  23. return $all;
  24. }
  25.  
  26.  
  27.  
  28. $tabr = ShowAllTree('./');
  29.  
  30. $szukana = 'kota';
  31. $nr=0;
  32. foreach($tabr as $next)
  33. {
  34.  
  35.  
  36. $slowa = explode(" ",join(" ",file("./".$next)));
  37.  
  38. for($tmp=0;$tmp<count($slowa);$tmp++) {
  39.  
  40. if(strstr($slowa[$tmp],$szukana)){
  41. $nr++;
  42. $tmpData[]="[$nr]<br>";
  43. for($i=$tmp-5;$i<=$tmp+5;$i++){
  44. if(isset($slowa[$i]))
  45. {
  46. if($i==$tmp) {
  47. $tmpData[count($tmpData)-1].="<b>$slowa[$i]</b> <p>";
  48. }else{
  49. $tmpData[count($tmpData)-1].="$slowa[$i] ";
  50. }
  51. }
  52. }
  53. $tmpData[count($tmpData)-1].="...";
  54. $tmpData[count($tmpData)-1].="<p>";
  55. $tmpData[count($tmpData)-1].="<a HREF=$next>Wiecej...</A><p>";
  56. }
  57. }
  58.  
  59.  
  60.  
  61.  
  62. }
  63.  
  64.  
  65. foreach($tmpData as $val)
  66. {
  67.  
  68. print $val;
  69.  
  70. }
  71.  
  72.  
  73.  
  74.  
  75. ?>


Musisz dorobic sobie formularz i podpiac po to.

Tablica

  1. $deny = array('index.php', 'index2.php', 'znajdz.php');


zawiera nazwy plikow ktore chcesz pominac w wyszukiwaniu. Aktualnie do wyszukania sa tylko i wylacznie pliki .php. Jesl ichcesz zmienic na inne to mozesz sam to zrobic

  1. (substr($file,-strlen('.php'))=='.php') )


Ten post edytował sratatata2 12.06.2019, 20:57:08
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 09:05