Mr * Techie
Du kan enkelt lage din egen søkemotor I PHP.
dette er en tekstboks der en bruker skriver inn et begrep og trykker på send-knappen og deretter omdirigeres av søkemotoren til siden han leter etter. For eksempel kan en bruker skrive inn uttrykket ‘youtube’, og deretter bli omdirigert til youtube-hjemmesiden.
denne typen søkemotor er ikke google. Det søker ikke gjennom dusinvis av nettsteder og sender deretter de mest relevante resultatene basert på spørringen. Det er ikke så avansert. Hva det gjør er, i henhold til søket du angir, hvis det er en samsvarende if-setning for spørringen, vil den omdirigere en person til siden som er mest relevant i henhold til spørringen. Så det er ikke en søkemotor som returnerer mange relevante resultater, men en søkemotor som omdirigerer en bruker til en side. Det er en mye enklere søkemotor, men fortsatt svært effektiv for grunnleggende formål og noe du kan ønske for ditt nettsted.
Å Bygge denne typen søkemotor er faktisk ikke vanskelig i det hele tatt. Det er faktisk veldig enkel kode.
for å gjøre DETTE, la OSS starte MED HTML. Vi lager en tekstboks, som vist nedenfor:
de eneste begrepene denne søkemotoren inneholder så langt:
Dropbox
Amazon
google
ebay
wikipedia
youtube
hess toy truck
LM7805
HTML-Kode
HTML-Koden for å lage denne tekstboksen ovenfor er:
Nå som vi har opprettet en tekstboks og en bruker kan skrive inn termen han eller hun søker etter, må vi nå omdirigere brukeren til den nødvendige siden basert på søket han/hun har angitt. For eksempel, hvis brukeren skriver inn søket, «wikipedia», må vi omdirigere ham til wikipedia-nettstedet. For å gjøre DETTE bruker VI PHP. PHP vil trekke ut søkeordet som brukeren har skrevet inn og bruke en rekke if-setninger for å se om det begrepet samsvarer med et begrep vi har på nettstedet vårt. Hvis det gjør det, leder vi brukeren til den nødvendige siden på det søkeordet ved HJELP AV PHP header-funksjonen. Dette vil bli forklart nedenfor. Hvis ingen søkeord samsvarer med noe som vi har på nettstedet vårt, omdirigerer vi brukeren til en side som sier «Ingen Søk Matchet».
Eksempel
et eksempel på dette er en bruker som ser opp begrepet ‘Hess toy trucks’. Vi må opprette Siden Hess toy trucks slik at når brukeren går inn i termen, har vi siden for å omdirigere dem til, og vi må lage en if-setning på PHP-siden, searchpage.php for å sjekke hvilket begrep som er valgt.
DETTE ER HVA PHP-siden, searchpage.php, vil se ut som:
I Utgangspunktet PHP-siden, searchpage.php, henter søkeordet som brukeren går inn ved hjelp av superglobal array, $_POST, og sammenligner den deretter mot en rekke if-setninger. Hvis søkeordet som brukeren skrev inn, samsvarer med et søkeord som er serien av if-setninger, omdirigeres brukeren til den siden SOM URL-ADRESSEN angir i topptekstfunksjonen. Hvis ingen av søkeordene samsvarer, vil setningen, Ingen Søk Matchet bli sendt til skjermen.
et triks som vi bruker for å forenkle denne prosessen er når vi henter søkeordet brukeren skrev inn, vi små bokstaver strengen ved hjelp av strtolower () – funksjonen. Dette hvorfor uansett hvilken streng brukeren går inn, blir det små bokstaver. Derfor, når vi sammenligner strenger, kan vi bare sammenligne det bare med strengen med små bokstaver alfabetiske tegn. Et eksempel er forskjellige brukere som skriver inn «Hess Truck»,» HESS TRUCK»,» Hess truck «og»HESS truck». Hvis vi ikke konverterte disse til små bokstaver, måtte vi ha sammenligninger med hver bokstav i hvert ord. Disse ville være kjedelige. Ved å konvertere strengen til alle små bokstaver, må vi bare sammenligne strengen med alle små bokstaver. Derfor er alt vi må gjøre, å sammenligne det med linjen hvis ($result==»hess truck»).
Du kan sette så mange ord du vil i søkesiden.php og omdirigere brukere til ønsket side ved hjelp av header-funksjonen.
denne søkemotoren fungerer bra, men det er ett problem. Det returnerer bare et resultat hvis brukeren angir nøyaktig uttrykket du leter etter. For eksempel, hvis en bruker prøver å finne informasjon om lm7805 spenningsregulator og typer i ‘lm7805 spenningsregulator’ i stedet for bare ‘LM7805’, vil søket ikke omdirigere til siden PÅ lm7805 spenningsregulatorer. Dette er fordiifølge koden ser if-setningen etter nøyaktig lik setningen (==). Og dermed, det må være en perfekt match. Samme ting for et annet søk. Hvis en bruker skriver inn ‘google-startside’ og ikke ‘google’, blir personen ikke ført til googles nettsted. Dette er fordi igjen hvis setningen ser etter en direkte lik (==). Så for å motvirke, hvis uttrykket inneholder ordet google, for eksempel ‘google hjemmeside’ eller ‘google søkemotor’, vil brukeren fortsatt bli omdirigert til googles hjemmeside, fordi hans / hennes søk inneholder ordet ‘google’. Det samme hvis brukeren typesin ‘lm7805 spenningsregulator’. Fordi søket inneholder uttrykket ‘LM7805’, gjenkjenner søkemotoren dette og omdirigerer personen TIL siden lm7805 spenningsregulator.
så hvordan gjøres dette? Det er enkelt. I stedet for at php if-setningen er en direkte lik ( = =), som i, if ($result= = «google»), som må være direkte lik, endrer vi setningen til, if (strpos($result, «google») == «true»)
hva denne setningen gjør er det ser etter uttrykket, «google», i søket. Hvis posisjonen til det uttrykket er til stede i strengen, er if-setningen sant; hvis det er sant, kan vi omdirigere dem til googles hjemmeside. Dette skyldes at så lenge ‘google’ er til stede i søket, er if-setningen sant. Og så under vi sette header plassering redirectfunction.
så vi oppretter en ny searchpage kalt searchpage2.php og endre if-setningene, som vist ovenfor, får vi denne filen, som er vist nedenfor.
nå har Vi en søkemotor som ikke krever en direkte karakter-for-tegn kamp. Hvis brukeren skriver inn ‘youtube hjemmeside’ eller ‘youtube videoer’, vil han/hun fortsatt bli omdirigert til youtube-hjemmesiden, fordi søket inneholder ordet ‘youtube’.
Og du kan fortsette å raffinere denne søkemotoren. For eksempel, hvis en bruker skriver inn ‘google maps’ i stedet for bare å omdirigere dem til google hompage, kan du opprette en annen hvis statementthat hvis resultatet inneholder’ google ‘ og ‘maps’ for å omdirigere brukeren til google maps i stedet for bare googles hjemmeside. Hvis du gjør dette der du bruker samme rotfrase ‘google’, men for forskjellige kategorier i google, er det best å bruke if else-setninger i stedet for bare if-setninger. Men det er ikke absolutt nødvendig hvis du bruker og uttalelser. Dette hvis setningen ville se slik ut, hvis ((strpos($result, «google») == «true») && (strpos($result, «maps») == «true»))
så under du ville sette header location redirect funksjon til, header (‘Location: https://maps.google.com/’);
Og slik kan du bygge en søkemotor som kan bli mer og mer avansert, eller mer og mer intelligent. Du fortsetter å gjøre flere divisjoner og hvis uttalelser. Så hvis en usertypes i ‘google ‘ og’ finance ‘ i samme søk, kan du bringe dem til google finance-siden. Hvis en bruker skriver inn ‘google’ og ‘bilder’ i samme søk, kan du ta dem med til ‘google bilder’ – siden. Og så videre og så videre.
Noen få poeng å gjøre om dette å skape søkesiden.php side. Når du gjør det, sørg for at det er absolutt ingen plass før <?php tag. Å sette plass mellom PHP-taggen kan sende utdata til nettleseren, og koden vil ikke fungere. FØR PHP kan utføre denne omdirigeringsfunksjonen, kan ingen utdata skrives til nettleseren. Ingen ingenting i det hele tatt kan gå før <?php tag, ikke engang hvit plass. Ellers vil du få en feil som sier noe til effekten Av, Advarsel: Kan ikke endre header informasjon-overskrifter allerede sendt av (utgang startet på / home / content/…/ søkeside.php:1).Dette betyr at før PHP utførte omdirigeringen, ble utdataene allerede skrevet til nettleseren. MED PHP header location redirect, er dette forbudt. Også av samme grunn, når du lagrer søketsiden.php-fil, lagre den I ANSI-koding. Ikke lagre det i unicode, unicode big endian eller utf-8-koding. Disse koding kan kryptere og legge til tegn før PHP codeeselv når det ikke er mellomrom der. ANSI er den reneste kodingen som ikke legger til noen tegn før <?php tag og dette vil gi de beste resultatene. FOR å se en mer grundig artikkel om DENNE PHP header funksjon feil, se PHP Header Plassering Feil-Advarsel: Kan Ikke Endre Overskriftsinformasjon-Overskrifter Som Allerede Er Sendt.
slik oppretter du en søkemotor I PHP.
Relaterte Ressurser
Hvordan Lage Din Egen Søkemotor For Nettstedet Ditt ved HJELP AV PHP
Hvordan Lage En Tilpasset Søkemotor For Nettstedet Ditt ved HJELP AV PHP
Hvordan Lage En Bildesøkemotor For Nettstedet Ditt ved HJELP AV PHP
Hvordan Lage en Video Søkemotor For Nettstedet Ditt Ved HJELP AV PHP
Hvordan Lage En Lydfil Søkemotor For Nettstedet Ditt ved HJELP AV PHP
Hvordan Laste Opp Bilder Til Et Nettsted Ved HJELP AV PHP
slik laster du opp filer til et nettsted ved hjelp av php
Slik Lager Du Din Egen Filoverføringsprotokoll (Ftp) For nettstedet Ditt Ved Hjelp Av Php
SLIK LAGER du en bekreftelse Ved HJELP AV PHP
Slik Setter Du Inn Bilder i En MySQL-Database ved HJELP AV PHP
Slik Oppretter Du En Søkbar Database Ved Hjelp Av MySQL og PHP
Slik Søker Du Etter Et MySQL-Bord For Et Ord Eller En Setning ved HJELP AV PHP
Slik Oppretter Du En Register-Og Påloggingsside Ved HJELP AV PHP