Podpowiedzi w stylu googlowego „Czy chodziło Ci o” to napewno przydatny dodatek do wyszukiwarki. Omówię dzisiaj w skrócie najprostszy znany mi sposób stworzenia takiego mechanizmu. Będziemy potrzebować: PHP4 lub późniejszy z biblioteką pspell. Niestety nie na każdym serwerze hostingowym pspell jest dostępny w standardzie. Na szczęście nie jest on taki rzadki.

Najpierw musimy stworzyć słownik słów użytych na stronie. Poniższy kod dodaje jedno słowo $word do słownika.

PHP:
  1. $pspell_config = pspell_config_create("pl");
  2. pspell_config_personal($pspell_config, "./sugestie2.slownik");
  3. $pspell_link = pspell_new_config($pspell_config);
  4. pspell_add_to_personal($pspell_link, $word); // dodajemy słowo do słownika
  5. pspell_save_wordlist($pspell_link);

Oczywiście gdy chcemy dodać więcej słów, wystarczy użyć pętli.

W poniższym kodzie dosyć istotna jest linia 3. Funkcja pspell_config_dict_dir wymusza na pspellu użycie tylko i wyłącznie naszego słownika. Bez niej funkcja pspell_suggest w wyniku zwróciłaby wszystkie polskie słowa podobne do tego, które zostało wpisane w wyszukiwarkę.

PHP:
  1. $pspell_config = pspell_config_create("pl");
  2. pspell_config_dict_dir($pspell_config, "~/public_html/slownik/");
  3. pspell_config_personal($pspell_config, "./sugestie2.slownik");
  4. $pspell_link = pspell_new_config($pspell_config);
  5.  
  6. $suggestions = pspell_suggest($pspell_link, $word);
  7. foreach ($suggestions as $suggestion) {
  8.     echo "Być może chodziło Ci o: $suggestion<br />";
  9. }