Hlavní navigace

Jak na jednoduché webovské vyhledávání?

Leoš Literák

Chtěli byste dát na svůj web prohledávání vašich stránek a báli jste se to naprogramovat? Nemusíte psát Hance ani Sally. Stačí si otevřít následující článek.

Co to umí? To, co potřebujete. Prohledá to rekurzivně všechny html stránky v daném adresáři a najde výskyt hledaného slova. Vypíše odkazy na všechny nalezené soubory, včetně kousku textu s nalezeným slovem, které je zvýrazněno. Pokud kliknete na odkaz, spustí se druhý skript, který zvýrazní všechny výskyty hledaného textu (větší tučné písmo). Víc to neumí, ale spoustě lidí to bude stačit :-).

Použití je poměrně jednoduché – stačí mít nainstalovanou podporuphp3 a stahnout si archiv se dvěma krátkými soubory. První z nich je vlastní prohledávač – hledej.php3. Druhý skript bold.php3 zase zvýrazňuje hledané slovo v nalezené stránce. Tyto soubory zkopírujte do své domovské stránky. Potom přidejte následující text do každé html stránky, která má poskytovat tuto službu.

<form action="hledej.php3" method="get">
Hledej text: <input type="text" size="20" maxlength="30" name="string">
<input type="submit" value="Odeslat">


Pokud to chcete vidět v praxi, podívejte se na moji stránku (omluva – dnes ze záhadného důvodu nefungují kaskádovité styly, takže vzhled je jiný než obvykle).

A jaká je licence? Pro vlastní použití zdarma. Pro ostatní taky zdarma, pokud za tento skript nebudou vybírat od zákazníků peníze. Pokud budete, pošlete mi nějaký dárek, třeba pizzerie má telefon 0656–836999.

Našli jste v článku chybu?
11. 6. 2003 15:26
fISH (neregistrovaný)

Ano to je pravda. Take jsem se s timto trochu trapil. V podobe, kdy to "znici" tag u obrazku nebo treba u odkazu je to nepouzitelne. Nasledujici kod funguje a tagy necha tagama... //rozdelim text do pole na tagy a ostatni text (zahrnu i rozdelovaci vzorek) $div = preg_split('/(<[^><]*>)/',$text,-1,2); //v kazdem prvku pole, pokud to neni tag provedu pozadovane nahrazeni while (list($key, $part) = each ($div)) { if (!(ereg("<.*",$part))) $div[$key]=eregi_replace("…

11. 9. 2001 20:44
Miro Vich (neregistrovaný)

Zdravim... Dako na Vasej stranke nejdu linky na ten skript mohli by ste sa na to prosim pozriet? dakujem mir