Mr * Techie
můžete snadno vytvořit svůj vlastní vyhledávač v PHP.
Toto je textové pole, kde uživatel zadá termín a stiskne tlačítko Odeslat a poté je vyhledávačem přesměrován na stránku, kterou hledá. Uživatel může například zadat frázi „youtube“ a poté být přesměrován na domovskou stránku youtube.
tento typ vyhledávače není google. Neprohledává desítky webů a poté na základě dotazu odešle nejrelevantnější výsledky. Není to tak pokročilé. To, co dělá, je podle zadaného vyhledávacího dotazu, pokud pro tento dotaz existuje odpovídající příkaz if, přesměruje osobu na stránku nejrelevantnější podle tohoto dotazu. Takže to není vyhledávač, který vrací mnoho relevantních výsledků, ale vyhledávač, který přesměruje uživatele na stránku. Je to mnohem jednodušší vyhledávač, ale stále velmi efektivní pro základní účely a něco, co si můžete přát pro vaše webové stránky.
budování tohoto typu vyhledávače ve skutečnosti není vůbec těžké. Je to vlastně velmi jednoduchý kód.
Chcete-li to provést, začněme HTML. Vytvoříme textové pole, jak je uvedeno níže:
jediné výrazy, které tento vyhledávač dosud obsahuje:
Dropbox
Amazon
google
ebay
wikipedia
youtube
hess Toy truck
LM7805
HTML kód
HTML kód pro vytvoření tohoto textového pole výše je:
Nyní, když jsme vytvořili textové pole a uživatel je schopen zadat výraz, který hledá, musíme nyní přesměrovat uživatele na potřebnou stránku na základě zadaného vyhledávacího dotazu. Pokud například uživatel zadá vyhledávací dotaz „wikipedia“, musíme ho přesměrovat na web Wikipedie. K tomu používáme PHP. PHP extrahuje hledaný výraz, který uživatel zadal, a použije řadu příkazů if, aby zjistil, zda tento výraz odpovídá termínu, který máme na našich webových stránkách. Pokud ano, nasměrujeme uživatele na potřebnou stránku tohoto hledaného výrazu pomocí funkce záhlaví PHP. To bude vysvětleno níže. Pokud se žádný hledaný výraz neshoduje s žádnými, které máme na našich webových stránkách, přesměrujeme uživatele na stránku, která uvádí ,“ žádná hledání se neshodovala“.
příklad
příkladem toho je uživatel, který vyhledává výraz „Hess Toy trucks“. Musíme vytvořit stránku Hess Toy trucks tak, že když uživatel zadá Termín, Máme stránku, na kterou je přesměrujeme, a musíme vytvořit příkaz if na stránce PHP, searchpage.php zkontrolovat, který termín je vybrán.
Toto je stránka PHP, searchpage.php, bude vypadat:
v podstatě stránka PHP, vyhledávánístránka.php načte hledaný výraz, který uživatel zadá pomocí pole superglobal, $_POST, a poté jej porovná s řadou příkazů if. Pokud hledaný výraz, který uživatel zadal, odpovídá hledanému výrazu, který je řadou příkazů if, je uživatel přesměrován na stránku, kterou URL specifikuje ve funkci záhlaví. Pokud se žádný z hledaných výrazů neshoduje, příkaz, na obrazovku nebude vyvedeno žádné odpovídající vyhledávání.
jeden trik, který používáme ke zjednodušení tohoto procesu, je, když načteme hledaný výraz, který uživatel zadal, řetězec pomocí funkce strtolower (). To je důvod, proč bez ohledu na to, jaký řetězec uživatel zadá, stane se malým písmem. Proto, když porovnáváme řetězce, můžeme je porovnat pouze s řetězcem s malými abecedními znaky. Příkladem jsou různí uživatelé, kteří zadávají „Hess Truck“, „Hess TRUCK“, „Hess truck“ a „Hess truck“. Pokud bychom je nepřevedli na malá písmena, museli bychom mít srovnání s každým velkým písmenem v každém slově. To by bylo únavné. Převedením řetězce na všechna malá písmena, vše, co musíme udělat, je porovnat řetězec s jeho ekvivalentem všech malých písmen. Proto vše, co musíme udělat, je porovnat jej s řádkem if ($result== „Hess truck“).
můžete zadat tolik termínů, kolik chcete na stránce vyhledávání.php a přesměrovat uživatele na požadovanou stránku pomocí funkce záhlaví.
tento vyhledávač funguje skvěle, ale je tu jeden problém. Vrátí výsledek, pouze pokud uživatel zadá přesnou frázi, kterou hledáte. Například, pokud se uživatel pokouší najít informace o regulátoru napětí LM7805 a typech v ‚lm7805 voltage regulator‘ namísto jen ‚LM7805‘, vyhledávání nebude přesměrováno na stránku na regulátorech napětí LM7805. Je to proto, že podle kódu příkaz if hledá přesnou rovnost fráze (==). Tím pádem, musí to být perfektní zápas. Totéž pro další vyhledávací dotaz. Pokud uživatel zadá „domovskou stránku google“ a ne „google“, nebude tato osoba přivedena na web google. Je to proto, že příkaz if opět hledá přímou rovnost (==). Pokud tedy fráze obsahuje slovo google, například „domovská stránka google „nebo“ vyhledávač google“, bude uživatel stále přesměrován na domovskou stránku google, protože jeho vyhledávání obsahuje slovo „google“. Totéž, pokud uživatel zadá ‚regulátor napětí LM7805‘. Protože vyhledávací dotaz obsahuje frázi „LM7805“, vyhledávač to rozpozná a přesměruje osobu na stránku regulátoru napětí LM7805.
tak jak se to dělá? Je to jednoduché. Místo toho, aby příkaz php if byl přímým rovným ( = = ), jako v if ($result==“google“), který musí být přímo stejný, změníme příkaz na if (strpos($result, „google“) = = „true“)
toto prohlášení hledá frázi „google“ ve vyhledávacím dotazu. Pokud je pozice této fráze v řetězci přítomna, je příkaz if pravdivý; pokud je to pravda, můžeme je přesměrovat na domovskou stránku google. Je to proto, že pokud je ve vyhledávacím dotazu přítomen „google“, je příkaz if pravdivý. A pak pod ním položíme přesměrování umístění hlavičkyfunkce.
takže vytvoříme novou stránku searchpage2.php a změňte příkazy if, jak je uvedeno výše, dostaneme tento soubor, který je uveden níže.
nyní máme vyhledávač, který nevyžaduje přímou shodu znaků za znaky. Pokud uživatel zadá „domovskou stránku youtube „nebo“ videa youtube“, bude stále přesměrovánna domovskou stránku youtube, protože vyhledávací dotaz obsahuje slovo „youtube“.
a můžete pokračovat v zdokonalování tohoto vyhledávače. Například, pokud uživatel zadá v „Mapách google“ místo toho, aby je pouze přesměrovával na Google hompage, můžete vytvořit další prohlášení ifže pokud výsledek obsahuje „google“ a „mapy“, přesměrovat uživatele na Mapy google místo jednoduše na domovskou stránku google. Pokud to uděláte tam, kde používáte stejnou kořenovou frázi „google“, ale pro různé kategorie v rámci google, je nejlepší použít příkazy if else místo příkazů just if. Ale to není nezbytně nutné, pokud používáte a prohlášení. Tento příkaz if by vypadal takto, Pokud ((strpos ($result, „google“) = = „true“) && (strpos ($result, „maps“) == „true“))
pak pod ním byste vložili funkci přesměrování umístění záhlaví do záhlaví („umístění: https://maps.google.com/“);
a takto můžete vytvořit vyhledávač, který se může stát stále pokročilejším nebo inteligentnějším. Stále děláte více divizí a prohlášení if. Takže pokud uživatel zadá „google“ a „finance“ ve stejném vyhledávání, můžete je přenést na stránku Google finance. Pokud uživatel zadá ve stejném vyhledávání „google“ a „obrázky“, můžete je přenést na stránku „Obrázky google“. A tak dále a tak dále.
několik bodů, aby se o tom vytvoření searchpage.stránka php. Když tak učiníte, ujistěte se, že před <není absolutně žádný prostor?php tag. Vložení místa mezi značku PHP může odeslat výstup do prohlížeče a kód nebude fungovat. Předtím, než PHP může tuto funkci přesměrování spustit, nelze do prohlížeče zapsat žádný výstup. Žádné nic nemůže jít před <?php tag, ani bílé místo. V opačném případě se zobrazí chyba, která říká něco ve smyslu varování: nelze změnit informace o záhlaví-záhlaví již odeslaná (výstup začal na / home / content/…/ searchpage.php: 1).To znamená, že předtím, než PHP provedlo přesměrování, byl výstup již zapsán do prohlížeče. S přesměrováním umístění záhlaví PHP je to zakázáno. Také ze stejného důvodu, když uložíte vyhledávánístránky.soubor php, uložte jej do kódování ANSI. Neukládejte jej v kódování unicode, unicode big endian nebo UTF-8. Toto kódování může šifrovat a přidávat znaky před kód PHP, i když tam není žádné bílé místo. ANSI je nejčistší kódování, které nepřidává žádné znaky před <?php tag a to bude produkovat nejlepší výsledky. Chcete-li zobrazit podrobnější článek o této chybě funkce záhlaví PHP, viz varování před chybou umístění záhlaví PHP: Nelze Upravit Informace O Záhlaví-Záhlaví Již Odeslaná.
takto vytvoříte vyhledávač v PHP.
související zdroje
jak vytvořit vlastní vyhledávač pro vaše webové stránky pomocí PHP
jak vytvořit vlastní vyhledávač pro vaše webové stránky pomocí PHP
jak vytvořit vyhledávač obrázků pro vaše webové stránky pomocí PHP
jak vytvořit vyhledávač Videa pro vaše webové stránky pomocí PHP
jak vytvořit vyhledávač zvukových souborů pro vaše webové stránky pomocí PHP
jak nahrát obrázky na webové stránky pomocí PHP
jak nahrát soubory na webové stránky pomocí PHP
php
jak vytvořit vlastní protokol pro přenos souborů (FTP) pro vaše webové stránky pomocí PHP
jak vytvořit potvrzení Stránka pro webový formulář HTML pomocí PHP
jak vložit obrázky do databáze MySQL pomocí PHP
jak vytvořit prohledávatelnou databázi pomocí MySQL a PHP
jak vyhledat tabulku MySQL Pro jakékoli slovo nebo frázi pomocí PHP
jak vytvořit registrační a přihlašovací stránku pomocí PHP