Mr * Techie

PHP

È possibile creare facilmente il proprio motore di ricerca in PHP.

Questa è una casella di testo in cui un utente digita un termine e preme il pulsante Invia e quindi viene reindirizzato dal motore di ricerca alla pagina che sta cercando. Ad esempio, un utente può digitare la frase “youtube” e quindi essere reindirizzato alla home page di youtube.

Questo tipo di motore di ricerca non è Google. Non cerca attraverso decine di siti e quindi invia i risultati più rilevanti in base alla query. Non è così avanzato. Quello che fa è, in base alla query di ricerca che inserisci, se esiste un’istruzione if corrispondente per quella query, reindirizzerà una persona alla pagina più rilevante in base a quella query. Quindi non è un motore di ricerca che restituisce molti risultati rilevanti, ma un motore di ricerca che reindirizza un utente a una pagina. È un motore di ricerca molto più semplice, ma ancora molto efficace per scopi di base e qualcosa che si può desiderare per il tuo sito web.

Costruire questo tipo di motore di ricerca non è affatto difficile. In realtà è un codice molto semplice.

Per fare ciò, iniziamo con l’HTML. Si crea una casella di testo, come mostrato di seguito:

L’unico di questo motore di ricerca contiene finora:
Dropbox
Amazon
google
ebay
wikipedia
youtube
hess camion giocattolo
LM7805

Codice HTML

Il Codice HTML per creare questa casella di testo di cui sopra è:

Ora che abbiamo creato una casella di testo e un utente è in grado di digitare il termine da lui o lei sta cercando, ora abbiamo bisogno di reindirizzare l’utente alla pagina necessaria basato sulla query di ricerca s/egli è entrato. Ad esempio, se l’utente inserisce la query di ricerca, “wikipedia”, dobbiamo reindirizzarlo al sito Web di wikipedia. Per fare questo, usiamo PHP. PHP estrarrà il termine di ricerca che l’utente ha inserito e utilizzerà una serie di istruzioni if per vedere se quel termine corrisponde a un termine che abbiamo nel nostro sito web. In tal caso, indirizziamo l’utente alla pagina necessaria su quel termine di ricerca utilizzando la funzione di intestazione PHP. Questo sarà spiegato di seguito. Se nessun termine di ricerca corrisponde a quello che abbiamo sul nostro sito web, reindirizziamo l’utente a una pagina che afferma “Nessuna ricerca corrisponde”.

Esempio

Un esempio di questo è un utente che cerca il termine ‘Hess toy trucks’. Dobbiamo creare la pagina Hess toy trucks in modo che quando l’utente inserisce il termine, abbiamo la pagina a cui reindirizzarli e abbiamo bisogno di creare un’istruzione if sulla pagina PHP, searchpage.php per verificare quale termine è selezionato.

Questo è ciò che la pagina PHP, searchpage.php, sarà simile:

Fondamentalmente, la pagina PHP, searchpage.php, recupera il termine di ricerca che l’utente inserisce utilizzando l’array superglobale, _ _POST, e quindi lo confronta con una serie di istruzioni if. Se il termine di ricerca immesso dall’utente corrisponde a un termine di ricerca che corrisponde alla serie di istruzioni if, l’utente viene reindirizzato alla pagina specificata dall’URL nella funzione di intestazione. Se nessuno dei termini di ricerca corrisponde, l’istruzione, Nessuna ricerca corrispondente verrà visualizzata sullo schermo.

un trucco che usiamo per semplificare questo processo è quando recuperiamo il termine di ricerca immesso dall’utente, minuscola la stringa utilizzando la funzione strtolower (). Questo perché non importa quale stringa l’utente inserisce, diventa minuscolo. Pertanto, quando stiamo confrontando le stringhe, possiamo semplicemente confrontarlo solo con la stringa con caratteri alfabetici minuscoli. Un esempio sono diversi utenti che digitano “Hess Truck”, “HESS TRUCK”, “Hess truck”e” HESS truck”. Se non li abbiamo convertiti in minuscolo, dovremmo avere confronti con ogni maiuscola di ogni lettera in ogni parola. Questi sarebbero noiosi. Convertendo la stringa in tutte le lettere minuscole, tutto ciò che dobbiamo fare è confrontare la stringa con il suo equivalente tutto minuscolo. Pertanto, tutto ciò che dobbiamo fare è confrontarlo con la linea if (result result==”hess truck”).

Puoi inserire tutti i termini che vuoi nella pagina di ricerca.php e reindirizzare gli utenti alla pagina desiderata utilizzando la funzione di intestazione.

Questo motore di ricerca funziona alla grande, ma c’è un problema. Restituisce un risultato solo se l’utente inserisce la frase esatta che stai cercando. Ad esempio, se un utente sta cercando di trovare informazioni sul regolatore di tensione LM7805 e digita “Regolatore di tensione LM7805” invece di “LM7805”, la ricerca non reindirizzerà alla pagina sui regolatori di tensione LM7805. Questo perché secondo il codice l’istruzione if cerca l’esatto uguale della frase ( = = ). Quindi, deve essere una partita perfetta. Stessa cosa per un’altra query di ricerca. Se un utente digita “home page di Google” e non “google”, la persona non verrà portata sul sito Web di Google. Questo perché di nuovo l’istruzione if cerca un uguale diretto ( = = ). Quindi, per contrastare, se la frase contiene la parola Google, come ‘home page di Google’ o ‘motore di ricerca google’, l’utente verrà comunque reindirizzato alla home page di Google, perché la sua ricerca contiene la parola ‘google’. La stessa cosa se l’utente typesin ‘LM7805 regolatore di tensione’. Poiché la query di ricerca contiene la frase ‘LM7805’, il motore di ricerca lo riconosce e reindirizza la persona alla pagina del regolatore di tensione LM7805.

Quindi, come viene fatto? E ‘ semplice. Invece che l’istruzione php if essere un uguale diretto (==), come in,if (result result==”google”), che deve essere direttamente uguale, cambiamo l’istruzione in, if (strpos (str result, “google”) == “true”)

Ciò che questa istruzione fa è cercare la frase, ‘google’, nella query di ricerca. Se la posizione di quella frase è presente nella stringa, l’istruzione if è true; se è true, possiamo reindirizzarli alla home page di Google. Questo perché finché ‘google’ è presente nella query di ricerca, l’istruzione if è vera. E poi sotto mettiamo la posizione dell’intestazione redirectfunction.

Quindi creiamo una nuova pagina di ricerca denominata searchpage2.php e modificare le istruzioni if, come mostrato sopra, otterremo questo file, che è mostrato di seguito.

Ora abbiamo un motore di ricerca che non richiede una corrispondenza diretta carattere per carattere. Se l’utente digita “youtube homepage” o “video di youtube”, verrà comunque reindirizzato alla home page di youtube, poiché la query di ricerca contiene la parola “youtube”.

E puoi continuare a perfezionare questo motore di ricerca. Ad esempio, se un utente digita ‘google maps’ invece di reindirizzarli alla pagina iniziale di Google, è possibile creare un’altra dichiarazione if che se il risultato contiene ‘google’ e ‘maps’ per reindirizzare l’utente a Google Maps anziché semplicemente alla home page di Google. Se si esegue questa operazione in cui si sta utilizzando la stessa frase radice ‘google’, ma per le diverse categorie all’interno di Google, è meglio usare if else dichiarazioni invece di solo if dichiarazioni. Ma non è assolutamente necessario se stai usando e dichiarazioni. Questa istruzione if sarebbe simile a questa, if ((strpos (result result, “google”) == “true”) && (strpos (result result, “maps”) == “true”))

Quindi sotto di te metteresti la funzione di reindirizzamento della posizione dell’intestazione, header (‘Location: https://maps.google.com/’);

Ed è così che si può costruire un motore di ricerca che può diventare sempre più avanzato, o sempre più intelligente. Continui a fare più divisioni e dichiarazioni if. Quindi, se un usertypes in ‘google’ e ‘finance’ all’interno della stessa ricerca, è possibile portarli alla pagina di Google finance. Se un utente digita ‘google’ e ‘ immagini ‘nella stessa ricerca, è possibile portarli alla pagina’ Google immagini’. E così via e così via.

Alcuni punti da fare su questo creando la pagina di ricerca.pagina php. Quando lo fai, assicurati che non ci sia assolutamente spazio prima di <?tag php. Mettere spazio tra il tag PHP può inviare l’output al browser e il codice non funzionerà. Prima che PHP possa eseguire questa funzione di reindirizzamento, nessun output può essere scritto sul browser. Niente di niente può andare prima del <?tag php, nemmeno lo spazio bianco. In caso contrario, si otterrà un errore che dice qualcosa per l’effetto di, Avviso: Impossibile modificare le informazioni di intestazione – intestazioni già inviate da (output avviato da /home/content/…/ pagina di ricerca.php:1).Ciò significa che prima che PHP eseguisse il reindirizzamento, l’output era già stato scritto nel browser. Con il reindirizzamento della posizione dell’intestazione PHP, questo è vietato. Inoltre, per lo stesso motivo, quando si salva la ricercapagina.file php, salvarlo nella codifica ANSI. Non salvarlo nella codifica unicode, unicode big endian o UTF-8. Queste codifiche possono crittografare e aggiungere caratteri prima del codice PHP anche quando non c’è spazio bianco lì. ANSI è la codifica più pura che non aggiunge alcun carattere prima di <?tag php e questo produrrà i migliori risultati. Per vedere un articolo più approfondito su questo errore della funzione di intestazione PHP, vedere PHP Header Location Error-Warning: Impossibile modificare le informazioni di intestazione – Intestazioni già inviate.

Ecco come si crea un motore di ricerca in PHP.

Risorse Correlate

Come Creare Il Proprio Motore di Ricerca Per il Tuo Sito web Utilizzando PHP
Come Creare un Motore di Ricerca Personalizzato Per il Tuo Sito web Utilizzando PHP
Come Creare un Motore di Ricerca di Immagini Per il Vostro Sito web Utilizzando PHP
Come Creare un Motore di Ricerca video Per il Tuo Sito web Utilizzando PHP
Come Creare un File Audio Motore di Ricerca Per il Tuo Sito web Utilizzando PHP
Come Caricare le Immagini su un Sito web Utilizzando PHP
Come Caricare i File su un Sito web Utilizzando PHP
Come Creare Il Proprio File Transfer Protocol (FTP) Per il Tuo Sito web Utilizzando PHP
Come Creare una Conferma Pagina per un modulo Web HTML Usando PHP
Come inserire immagini in un database MySQL Usando PHP
Come creare un database ricercabile usando MySQL e PHP
Come cercare una tabella MySQL per qualsiasi parola o frase Usando PHP
Come creare una pagina di registro e login usando PHP

Leave a Reply

Il tuo indirizzo email non sarà pubblicato.