Mr * Techie
puteți crea cu ușurință propriul motor de căutare în PHP.
aceasta este o casetă de text în care un utilizator introduce un termen și apasă butonul de trimitere și apoi este Redirecționat de motorul de căutare către pagina pe care o caută. De exemplu, un utilizator poate introduce fraza ‘youtube’ și apoi poate fi redirecționat către pagina de pornire youtube.
acest tip de motor de căutare nu este google. Nu caută prin zeci de site-uri și apoi trimite cele mai relevante rezultate pe baza interogării. Nu este atât de avansat. Ceea ce face este, în funcție de interogarea de căutare pe care o introduceți, dacă există o instrucțiune potrivire if pentru acea interogare, aceasta va redirecționa o persoană către pagina cea mai relevantă în funcție de acea interogare. Deci nu este un motor de căutare care returnează multe rezultate relevante, ci un motor de căutare care redirecționează un utilizator către o pagină. Este un motor de căutare mult mai simplu, dar totuși foarte eficient în scopuri de bază și ceva ce ați putea dori pentru site-ul dvs. web.
construirea acestui tip de motor de căutare nu este deloc greu. Este de fapt un cod foarte simplu.
pentru a face acest lucru, să începem cu HTML. Creăm o casetă de text, așa cum se arată mai jos:
singurii Termeni pe care acest motor de căutare îi conține până acum:
Dropbox
Amazon
google
ebay
wikipedia
youtube
Hess Toy truck
LM7805
cod HTML
codul HTML pentru a crea această casetă de text de mai sus este:
acum, că am creat o casetă de text și un utilizator este capabil să tastați în termenul el sau ea este în căutarea pentru, acum avem nevoie pentru a redirecționa utilizatorul la pagina necesară pe baza interogării de căutare s/el a introdus. De exemplu, dacă utilizatorul introduce interogarea de căutare, „wikipedia”, atunci trebuie să-l redirecționăm către site-ul wikipedia. Pentru a face acest lucru, folosim PHP. PHP va extrage termenul de căutare pe care utilizatorul l-a introdus și va folosi o serie de declarații if pentru a vedea dacă acel termen se potrivește cu un termen pe care îl avem pe site-ul nostru. Dacă se întâmplă, direcționăm utilizatorul către pagina necesară pe acel termen de căutare folosind funcția de antet PHP. Acest lucru va fi explicat mai jos. Dacă niciun termen de căutare nu se potrivește cu cel pe care îl avem pe site-ul nostru web, atunci redirecționăm utilizatorul către o pagină care afirmă „nicio căutare potrivită”.
exemplu
un exemplu în acest sens este un utilizator care caută termenul ‘Hess Toy trucks’. Avem nevoie pentru a crea pagina Hess Toy trucks, astfel încât atunci când utilizatorul introduce termenul, avem pagina pentru a le redirecționa la, și avem nevoie pentru a crea o declarație if pe pagina PHP, searchpage.php pentru a verifica ce termen este selectat.
aceasta este ceea ce pagina PHP, searchpage.php, va arata ca:
practic, pagina PHP, searchpage.php, preia termenul de căutare pe care utilizatorul îl introduce folosind matricea superglobală, $_POST, și apoi îl compară cu o serie de declarații if. Dacă termenul de căutare introdus de utilizator se potrivește cu un termen de căutare care este seria de instrucțiuni if, utilizatorul este redirecționat către acea pagină pe care URL-ul O specifică în funcția antet. Dacă niciunul dintre termenii de căutare nu se potrivește, instrucțiunea, nicio căutare potrivită nu va fi afișată pe ecran.
un truc pe care îl folosim pentru a simplifica acest proces este atunci când recuperăm termenul de căutare introdus de utilizator, minusculăm șirul folosind funcția strtolower (). De aceea, indiferent de șirul pe care îl introduce utilizatorul, acesta devine minuscul. Prin urmare, atunci când comparăm șiruri, îl putem compara doar cu șirul cu caractere alfabetice cu litere mici. Un exemplu sunt utilizatorii diferiți care tastează „Hess Truck”, „Hess TRUCK”, „Hess truck”și” Hess truck”. Dacă nu le-am converti în litere mici, ar trebui să avem comparații cu fiecare majusculă a fiecărei litere din fiecare cuvânt. Acestea ar fi plictisitoare. Prin conversia șirului în toate minuscule, tot ce trebuie să facem este să comparăm șirul cu echivalentul său minuscul. Prin urmare, tot ce trebuie să facem este să o comparăm cu linia if ($result==”Hess truck”).
puteți pune cât mai mulți termeni doriți în pagina de căutare.php și redirecționați utilizatorii către pagina dorită folosind funcția antet.
acest motor de căutare funcționează excelent, dar există o problemă. Returnează un rezultat numai dacă utilizatorul introduce fraza exactă pe care o căutați. De exemplu, dacă un utilizator încearcă să găsească informații despre regulatorul de tensiune LM7805 și tipurile din ‘regulator de tensiune lm7805’ în loc de doar ‘lm7805’, căutarea nu va redirecționa către pagina de pe regulatoarele de tensiune lm7805. Acest lucru se datorează faptului căconform codului, instrucțiunea if caută egalul exact al expresiei (==). Astfel, trebuie să fie o potrivire perfectă. Același lucru pentru o altă interogare de căutare. Dacă un utilizator tastează ‘pagina de pornire google’ și nu ‘google’, persoana respectivă nu va fi adusă pe site-ul google. Acest lucru se datorează faptului că din nou declarația if caută un egal direct (==). Deci, pentru a contracara, dacă fraza conține cuvântul google, cum ar fi ‘pagina de pornire google’ sau ‘motorul de căutare google’, atunci utilizatorul va fi în continuare redirecționat către pagina de pornire google, deoarece căutarea lui/ei conține cuvântul ‘google’. Același lucru dacă utilizatorul tastează regulatorul de tensiune LM7805. Deoarece interogarea de căutare conține expresia ‘LM7805’, motorul de căutare recunoaște acest lucru și redirecționează persoana către pagina regulatorului de tensiune LM7805.
Deci, cum se face acest lucru? E simplu. În loc ca declarația PHP if să fie egală direct (==), ca în, if ($result==”google”), care trebuie să fie direct egală, schimbăm instrucțiunea în, if (strpos($result, „google”) = = „true”)
ceea ce face această afirmație este să caute expresia „google” în interogarea de căutare. Dacă poziția acelei fraze este prezentă în șir, instrucțiunea if este adevărată; dacă este adevărat, le putem redirecționa către pagina de pornire google. Acest lucru se datorează faptului că atâta timp cât ‘google’ este prezent în interogarea de căutare, declarația if este adevărată. Și apoi dedesubt am pus redirecționarea locației antetuluifuncția.
deci, vom crea o nouă pagină de căutare numită searchpage2.php și modificați declarațiile if, așa cum se arată mai sus, vom obține acest fișier, care este prezentat mai jos.
acum avem un motor de căutare care nu necesită o potrivire directă caracter-pentru-caracter. Dacă utilizatorul tastează ‘pagina de pornire youtube’ sau ‘videoclipuri youtube’, acesta va fi redirecționat în continuare către pagina de pornire youtube, deoarece interogarea de căutare conține cuvântul’youtube’.
și puteți continua să rafinați acest motor de căutare. De exemplu, dacă un utilizator tastează în ‘Google maps’ în loc să-l redirecționeze către Google hompage, puteți crea o altă declarație ifcă dacă rezultatul conține ‘google’ și ‘maps’ pentru a redirecționa utilizatorul către Google maps în loc de pur și simplu pagina de pornire google. Dacă faceți acest lucru în cazul în care utilizați aceeași frază rădăcină ‘google’, dar pentru diferite categorii din google, este mai bine să utilizați declarații if else în loc de declarații just if. Dar nu este absolut necesar dacă utilizați și declarații. Această declarație if ar arăta astfel, if ((strpos ($result, „google”) = = „true”) && (strpos ($result, „maps”) = = „true”))
apoi dedesubt ați pune funcția de redirecționare a locației antetului, antet (‘locație: https://maps.google.com/’);
și așa puteți construi un motor de căutare care poate deveni din ce în ce mai avansat sau din ce în ce mai inteligent. Continuați să faceți mai multe diviziuni și declarații if. Deci, dacă un utilizator tastează în ‘google’ și ‘finance’ în cadrul aceleiași căutări, le puteți aduce la pagina Google finance. Dacă un utilizator tastează ‘google’ și ‘images’ În aceeași căutare, le puteți aduce la pagina ‘Google images’. Și așa mai departe și așa mai departe.
câteva puncte de făcut despre crearea paginii de căutare.pagina php. Când faceți acest lucru, asigurați-vă că nu există absolut niciun spațiu înainte de <?etichetă php. Punerea spațiu între tag-ul PHP poate trimite ieșire la browser-ul și Codul nu va funcționa. Înainte ca PHP să poată executa această funcție de redirecționare, nicio ieșire nu poate fi scrisă în browser. Nimic nu poate merge înainte de <?tag php, nici măcar spațiu alb. În caz contrar, veți primi o eroare care spune ceva la efectul, avertisment: nu se poate modifica informațiile antetului – anteturile deja trimise de (ieșirea a început la /home/content/…/ pagina de căutare.php:1).Aceasta înseamnă că înainte ca PHP să efectueze redirecționarea, ieșirea era deja scrisă în browser. Cu redirecționarea locației antetului PHP, acest lucru este interzis. De asemenea, din același motiv, când salvați căutareapagina.fișier php, salvați-l în codificare ANSI. Nu îl salvați în codificarea unicode, Unicode big endian sau UTF-8. Aceste codificări pot cripta și adăuga caractere înainte de codul PHP chiar și atunci când nu există spațiu alb acolo. ANSI este cea mai pură codificare care nu adaugă caractere înainte de <?tag php și acest lucru va produce cele mai bune rezultate. Pentru a vedea un articol mai detaliat despre această eroare a funcției de antet PHP, consultați eroare de localizare a antetului PHP-avertizare: Nu Se Pot Modifica Informațiile Antetului-Anteturile Deja Trimise.
acesta este modul în care creați un motor de căutare în PHP.
Resurse conexe
cum să vă creați propriul motor de căutare pentru site-ul dvs. web folosind PHP
cum să creați un motor de căutare Personalizat pentru site-ul dvs. web folosind PHP
cum să creați un motor de căutare de imagini pentru site-ul dvs. web folosind PHP
cum să creați un motor de căutare video pentru site-ul dvs. web folosind PHP
cum să creați un motor de căutare de fișiere Audio pentru site-ul dvs. web folosind PHP
cum să încărcați imagini pe un site web folosind PHP
cum să încărcați imagini pe un site web folosind PHP
cum să încărcați fișiere pe un site web folosind PHP
cum să creați propriul protocol de transfer de fișiere (FTP) pentru site-ul dvs. web folosind PHP
cum să creați o confirmare Pagina pentru un formular web HTML folosind PHP
cum se inserează imagini într-o bază de date MySQL folosind PHP
cum se creează o bază de date care poate fi căutată folosind MySQL și PHP
Cum Se caută un tabel MySQL pentru orice cuvânt sau frază folosind PHP
cum se creează un registru și o pagină de conectare folosind PHP