Lokalna wyszukiwarka z wyrażeniami regularnymi
Wprowadzenie
Te srkypty zostały napisane w PHP i posługują się wyrażeniami "regex" zawartymi w podstawowym pakiecie PHP (nie musisz ich instalować dodatkowo). Nie potrzebują bazy danych, ponieważ czytają pliki z katalogów. Szukasz: całych słów lub części słów i zdań lub każdego słowa pojedzńczo. Pliki zawierające szukane słowa zostną pokazane jako link z całą ścieżką. Skrypt ten nadaje się dla małych stron (100-150 plików), większa ilość przedłuża szukanie do ponad 10 sekund. Im częściej szukane słowo się tam znajduje, tym dłużej trzeba czekać. Poza tym skrypt ten nadaje się tylko dla stron z własnym DOCUMENT_ROOT w konfiguracji serwera (a więc mających wlasną domenę lub subdomenę). Nie będzie on działał na stronach typu http://domena/~urzytkownik bo nie mają własnego DOCUMENT_ROOT, gdzie bedzie zapisana (do czego nie masz uprawnień) i szukana konfiguracja. Byćmoże w następnej wesji to zmienię...
Instalacja
Rozpakuj lookuPhp.tar.gz najlepiej do katalogu głównego serwera. Z przeglądarki wystartuj searchsetup.php, jeśli jesteś pewien, że nie ma poniżej DOCUMENT_ROOT żadnych rekursywnych symlinków (linki w Linuxie pokazujące do innych katalogów typu: /var/www/link_do_katalogu pokazujący do /var/www czyli powyżej obecnego) innaczej skrypt się zawiesi i bzćmoże nwet cały serwer. Skrypt ten przeszuka wszystkie katalogi i pliki od DOCUMENT_ROOT (katalogu głównego twojej domeny) i przedstawi je już zaznaczone do zapisania w liście konfiguracyjnej. Możesz odznaczyć te pliki, które nie mają zostać przeszukane. Automatycznie skrypt szuka tylko plików html i htm. Możesz kazać mu akceptować też txt i php jeśli dopiszesz w linijce u góry rozszerzenia plików rozdzielając je znakiem "|" i wystartujesz ten skrypt przyciskiem na nowo. Przeszukiwanie plików PHP może spowodować pokazanie tajnych zmiennych z hasłami do baz danzch itp. Bądź ostrożny! Wyjmij zaznaczenia przy plikach, które nie mają zostać przeszukane i naciśnij na przycisk "add". Lista plików zostanie zapisana do search.inc w DOCUMENT_ROOT (zawiera ścieżki do plików bez DOCUMENT_ROOT rozdzielone znakiem "|"). Dzięki temu możesz search.php umieścić w każdym katalogu i z niego przechodzić linkiem do każdego innego dokumentu powyżej i poniżej katalogu z search.php.
Urzytkowanie
W adresie do skryptu dopisz "?language=pl" (a więc "search.php?language=pl") dla polskiego lub "de" dla niemieckiego. W ten sposób masz mozliwosc sterowania językiem w formularzu i w odpowiedzi. Pamiętaj o tym, żeby zostawić pliki z tłumaczeniem/-ami oraz ze stylami w tym samym katalogu. Jeśli chesz, możesz dopisać własne tłumaczenie np. na ukraiński (kod iso dla Ukrainy a więc i dla ukraińskiego to "ua") i zapisać ten plik jako "lang.ua.php". Podając skryptowi "?language=ua" formularz szukania i lista znalezionych będzie po ukrainsku.
Możesz szukać całych wyrażeń (poprzedzonych i zakończonych spacją i znakami interpunkcji), tych samych jako części dluższych wyrażeń lub każdego słowa w wyrażeniu oddzielnie (jako części lub jak całość). Szukając części znajdziesz "dom" oraz "domu" ale również "ram" i "oramy". Duże i małe litery w polskich znakach nie są już problemem, jeśli są kodowane w iso-2 ("ż" a nie "ż"). Szukając pojedyńczych słów dostaniesz odpowiedzi posotrowane według pliku i szukanego słowa.
W style.css dopasuj właściwości następujących klas do swoich potrzeb:
searchbackground zawiera kolor tła dla highlightingu znalezionych słów; searchfound zawiera format znalezionego tekstu; searchstring formatuje wygląd wskazówek na szukane słowa; searchsitename formatuje link ze ścieżką pliku. Poza tym zerknij na możliwości jakie dają a:hover i a:visited. Albo zostaw wszystko tak jak jest... bo przecież jest OK!
Masz wskazówki albo pytania? Znajdziesz mnie tutaj.
Powodzenia z lookuPhp!