Mr* Techie
Sie können ganz einfach Ihre eigene Suchmaschine in PHP erstellen.
Dies ist ein Textfeld, in dem ein Benutzer einen Begriff eingibt und die Senden-Schaltfläche drückt und dann von der Suchmaschine zu der Seite weitergeleitet wird, nach der er sucht. Zum Beispiel kann ein Benutzer in der Phrase eingeben, ‚youtube‘, und dann auf die Youtube-Homepage umgeleitet werden.
Diese Art von Suchmaschine ist nicht Google. Es durchsucht nicht Dutzende von Websites und sendet dann die relevantesten Ergebnisse basierend auf der Abfrage. Es ist nicht so fortgeschritten. Was es tut, ist, entsprechend der Suchanfrage, die Sie eingeben, wenn es eine passende if-Anweisung für diese Abfrage gibt, wird es eine Person auf die Seite umleiten, die für diese Abfrage am relevantesten ist. Es ist also keine Suchmaschine, die viele relevante Ergebnisse zurückgibt, sondern eine Suchmaschine, die einen Benutzer auf eine Seite umleitet. Es ist eine viel einfachere Suchmaschine, aber immer noch sehr effektiv für grundlegende Zwecke und etwas, das Sie für Ihre Website wünschen können.
Der Aufbau dieser Art von Suchmaschine ist eigentlich gar nicht so schwer. Es ist eigentlich sehr einfacher Code.
Beginnen wir mit dem HTML-Code. Wir erstellen ein Textfeld, wie unten gezeigt:
Die einzigen Begriffe, die diese Suchmaschine bisher enthält:
Dropbox
Amazon
google
ebay
wikipedia
youtube
hess toy truck
LM7805
HTML-Code
Der HTML-Code zum Erstellen dieses Textfelds oben lautet:
Nachdem wir nun ein Textfeld erstellt haben und ein Benutzer den gesuchten Begriff eingeben kann, müssen wir den Benutzer basierend auf der von ihm eingegebenen Suchanfrage auf die erforderliche Seite umleiten. Wenn der Benutzer beispielsweise die Suchanfrage „wikipedia“ eingibt, müssen wir ihn auf die Wikipedia-Website umleiten. Dazu verwenden wir PHP. PHP extrahiert den vom Benutzer eingegebenen Suchbegriff und verwendet eine Reihe von if-Anweisungen, um festzustellen, ob dieser Begriff mit einem Begriff auf unserer Website übereinstimmt. Wenn dies der Fall ist, leiten wir den Benutzer mithilfe der PHP-Header-Funktion zur erforderlichen Seite für diesen Suchbegriff. Dies wird im Folgenden erläutert. Wenn kein Suchbegriff mit dem übereinstimmt, den wir auf unserer Website haben, leiten wir den Benutzer zu einer Seite weiter, auf der „Keine übereinstimmenden Suchanfragen“ angegeben ist.
Beispiel
Ein Beispiel hierfür ist ein Benutzer, der den Begriff ‚Hess toy trucks‘ nachschlägt. Wir müssen die Seite Hess toy trucks erstellen, damit der Benutzer, wenn er den Begriff eingibt, die Seite hat, zu der er umgeleitet werden kann, und wir müssen eine if-Anweisung auf der PHP-Seite searchpage erstellen.php, um zu überprüfen, welcher Begriff ausgewählt ist.
Dies ist, was die PHP-Seite, searchpage.php, wird so aussehen:
Grundsätzlich die PHP-Seite searchpage.php ruft den Suchbegriff ab, den der Benutzer mithilfe des superglobalen Arrays $_POST eingibt, und vergleicht ihn dann mit einer Reihe von if-Anweisungen. Wenn der vom Benutzer eingegebene Suchbegriff mit einem Suchbegriff übereinstimmt, der der Reihe von if-Anweisungen entspricht, wird der Benutzer zu der Seite weitergeleitet, die die URL in der Header-Funktion angibt. Wenn keiner der Suchbegriffe übereinstimmt, wird die Anweisung No Searches Matched auf dem Bildschirm ausgegeben.
Ein Trick, mit dem wir diesen Prozess vereinfachen, besteht darin, dass wir beim Abrufen des vom Benutzer eingegebenen Suchbegriffs die Zeichenfolge mithilfe der Funktion strtolower() in Kleinbuchstaben strtolower() . Aus diesem Grund, egal welche Zeichenfolge der Benutzer eingibt, wird es Kleinbuchstaben. Wenn wir also Zeichenfolgen vergleichen, können wir sie nur mit der Zeichenfolge mit alphabetischen Kleinbuchstaben vergleichen. Ein Beispiel sind verschiedene Benutzer, die „Hess Truck“, „HESS TRUCK“, „Hess truck“ und „HESS truck“ eingeben. Wenn wir diese nicht in Kleinbuchstaben konvertieren würden, müssten wir Vergleiche mit jedem großgeschriebenen Buchstaben in jedem Wort haben. Diese wären langweilig. Durch Konvertieren der Zeichenfolge in alle Kleinbuchstaben müssen wir die Zeichenfolge nur mit dem Äquivalent aller Kleinbuchstaben vergleichen. Daher müssen wir es nur mit der Zeile vergleichen if ($result==“hess truck“).
Sie können beliebig viele Begriffe in die Suchseite eingeben.php und leiten Benutzer mithilfe der Header-Funktion auf die gewünschte Seite um.
Diese Suchmaschine funktioniert hervorragend, aber es gibt ein Problem. Es gibt nur dann ein Ergebnis zurück, wenn der Benutzer genau die gesuchte Phrase eingibt. Wenn ein Benutzer beispielsweise versucht, Informationen zum LM7805-Spannungsregler zu finden, und ‚LM7805 voltage regulator‘ anstelle von ‚LM7805‘ eingibt, wird die Suche nicht auf die Seite zu LM7805 voltage regulators umgeleitet. Dies liegt daran, dass die if-Anweisung gemäß dem Code nach dem genauen Äquivalent der Phrase (==) sucht. Daher muss es perfekt zusammenpassen. Gleiches gilt für eine andere Suchanfrage. Wenn ein Nutzer ‚Google Homepage‘ und nicht ‚google‘ eingibt, wird die Person nicht auf die Google-Website weitergeleitet. Dies liegt daran, dass die if-Anweisung erneut nach einem direkten equal (==) sucht. Wenn die Phrase also das Wort Google enthält, z. B. ‚Google-Homepage‘ oder ‚Google-Suchmaschine‘, wird der Benutzer weiterhin auf die Google-Homepage weitergeleitet, da seine Suche das Wort ‚Google‘ enthält. Das gleiche, wenn der Benutzer typesin ‚LM7805 Spannungsregler‘. Da die Suchanfrage die Phrase ‚LM7805‘ enthält, erkennt die Suchmaschine dies und leitet die Person auf die LM7805-Spannungsreglerseite um.
Wie wird das gemacht? Ganz einfach. Anstatt dass die php if Anweisung ein direktes equal (==) ist, wie in,if ($result==“google“) , das direkt gleich sein muss, ändern wir die Anweisung in, if (strpos($result, „google“) == „true“)
Diese Anweisung sucht in der Suchanfrage nach der Phrase „google“. Wenn die Position dieser Phrase in der Zeichenfolge vorhanden ist, ist die if-Anweisung wahr; Wenn es wahr ist, können wir sie auf die Google-Homepage umleiten. Dies liegt daran, dass die if-Anweisung wahr ist, solange ‚google‘ in der Suchanfrage vorhanden ist. Und dann darunter setzen wir die Header-Position redirectfunction.
Also erstellen wir eine neue searchpage mit dem Namen searchpage2.php und ändern Sie die if-Anweisungen, wie oben gezeigt, wir werden diese Datei erhalten, die unten gezeigt wird.
Jetzt haben wir eine Suchmaschine, die keine direkte Zeichen-für-Zeichen-Übereinstimmung erfordert. Wenn der Nutzer ‚Youtube-Startseite‘ oder ‚Youtube-Videos‘ eingibt, wird er trotzdem auf die Youtube-Startseite weitergeleitet, da die Suchanfrage das Wort ‚youtube‘ enthält.
Und Sie können diese Suchmaschine weiter verfeinern. Wenn ein Benutzer beispielsweise ‚Google Maps‘ eingibt, anstatt sie nur auf die Google-Startseite umzuleiten, können Sie eine weitere if-Anweisung erstellen, wenn das Ergebnis ‚google‘ und ‚maps‘ enthält, um den Benutzer zu Google Maps anstatt nur zur Google-Startseite umzuleiten. Wenn Sie dies tun, wo Sie die gleiche Root-Phrase ‚google‘ verwenden, aber für verschiedene Kategorien innerhalb von Google, ist es am besten, if else-Anweisungen anstelle von nur if-Anweisungen zu verwenden. Es ist jedoch nicht unbedingt erforderlich, wenn Sie and-Anweisungen verwenden. Diese if-Anweisung würde folgendermaßen aussehen: if ((strpos($result, „google“) == „true“) && (strpos($result, „maps“) == „true“))
Dann würden Sie darunter die Header-Standort-Umleitungsfunktion zu header (‚Location: https://maps.google.com/‘);
Und so können Sie eine Suchmaschine erstellen, die immer fortschrittlicher oder intelligenter wird. Sie machen immer mehr Divisionen und if-Anweisungen. Also, wenn ein usertypes in ‚google‘ und ‚Finanzen‘ innerhalb der gleichen Suche, Sie können sie auf die Google Finance-Seite bringen. Wenn ein Benutzer ‚Google‘ und ‚Bilder‘ in derselben Suche eingibt, können Sie sie auf die Seite ‚Google Bilder‘ bringen. Und so weiter und so fort.
Ein paar Punkte zum Erstellen der searchpage .PHP-Seite. Wenn Sie dies tun, stellen Sie sicher, dass vor dem < absolut kein Leerzeichen steht?PHP-Tag. Wenn zwischen dem PHP-Tag ein Leerzeichen eingefügt wird, wird möglicherweise eine Ausgabe an den Browser gesendet, und der Code funktioniert nicht. Bevor PHP diese Umleitungsfunktion ausführen kann, kann keine Ausgabe in den Browser geschrieben werden. Nein gar nichts kann vor dem < gehen?PHP-Tag, nicht einmal Leerzeichen. Andernfalls erhalten Sie eine Fehlermeldung, die etwas zu Folgendem besagt: Warnung: Header-Informationen können nicht geändert werden – Header, die bereits von gesendet wurden (Ausgabe gestartet unter / home / content /…/searchpage.php:1).Dies bedeutet, dass die Ausgabe bereits in den Browser geschrieben wurde, bevor PHP die Umleitung durchführte. Mit der PHP Header Location Redirect ist dies verboten. Auch aus dem gleichen Grund, wenn Sie die Suche speichernseite.PHP-Datei, speichern Sie sie in ANSI-Codierung. Speichern Sie es nicht in Unicode, Unicode Big Endian oder UTF-8-Codierung. Diese Codierung kann Zeichen vor dem PHP-Code verschlüsseln und hinzufügen, auch wenn dort kein Leerzeichen vorhanden ist. ANSI ist die reinste Codierung, die keine Zeichen vor dem < hinzufügt?PHP-Tag und dies wird die besten Ergebnisse liefern. Einen ausführlicheren Artikel zu diesem PHP-Header-Funktionsfehler finden Sie unter PHP Header Location Error- Warning: Header-Informationen können nicht geändert werden – Header bereits gesendet.
So erstellen Sie eine Suchmaschine in PHP.
Verwandte Ressourcen
So erstellen Sie Ihre eigene Suchmaschine für Ihre Website mit PHP
So erstellen Sie eine benutzerdefinierte Suchmaschine für Ihre Website mit PHP
So erstellen Sie eine Bildsuchmaschine für Ihre Website mit PHP
So erstellen Sie eine Videosuchmaschine für Ihre Website mit PHP
So erstellen Sie eine Audiodatei-Suchmaschine für Ihre Website mit PHP
So laden Sie Bilder mit PHP auf eine Website hoch
So laden Sie Dateien mit PHP auf eine Website hoch
So erstellen Sie Ihr eigenes File Transfer Protocol (FTP) für Ihre Website mit PHP
So erstellen Sie eine Bestätigung HTML-Webformular mit PHP
Einfügen von Bildern in eine MySQL-Datenbank mit PHP
Erstellen einer durchsuchbaren Datenbank mit MySQL und PHP
Durchsuchen einer MySQL-Tabelle nach Wörtern oder Phrasen mit PHP
Erstellen einer Registrierungs- und Anmeldeseite mit PHP