Mr•Techieを使用して検索エンジンを作成する方法
あなたは簡単にPHPで独自の検索エンジンを作成することができます。
これは、ユーザーが用語を入力して送信ボタンを押した後、検索エンジンによって探しているページにリダイレクトされるテキストボックスです。 たとえば、ユーザーが”youtube”というフレーズを入力した後、youtubeホームページにリダイレクトされる可能性があります。
このタイプの検索エンジンはgoogleではありません。 これは、サイトの数十を検索し、クエリに基づいて、最も関連性の高い結果を送信しません。 それは高度ではありません。 入力した検索クエリに応じて、そのクエリに一致するif文がある場合、そのクエリに従って最も関連性の高いページに人をリダイレクトします。 したがって、多くの関連する結果を返す検索エンジンではなく、ユーザーをページにリダイレクトする検索エンジンです。 それははるかに簡単な検索エンジンですが、基本的な目的やあなたのウェブサイトに望むかもしれないものにはまだ非常に効果的です。
このタイプの検索エンジンを構築することは、実際にはまったく難しいことではありません。 それは実際には非常に単純なコードです。
これを行うには、HTMLから始めましょう。 以下に示すように、テキストボックスを作成します:
この検索エンジンがこれまでに含む唯一の用語:
Dropbox
Amazon
google
ebay
wikipedia
youtube
hess toy truck
LM7805
HTMLコード
上記のテキストボックスを作成するHTMLコードは:
テキストボックスを作成し、ユーザーが検索している用語を入力できるようになったので、入力した検索クエリに基づいてユーザーを必要なページにリダイレ たとえば、ユーザーが検索クエリ”wikipedia”を入力した場合、wikipediaのウェブサイトにリダイレクトする必要があります。 これを行うには、PHPを使用します。 PHPは、ユーザーが入力した検索用語を抽出し、一連のif文を使用して、その用語が当社のウェブサイトにある用語と一致するかどうかを確認します。 そうであれば、PHPヘッダー関数を使用して、その検索用語の必要なページにユーザーを誘導します。 これを以下に説明する。 当社のウェブサイト上にある検索語と一致する検索語がない場合は、”検索が一致しません”と表示されたページにユーザーをリダイレクトします。
例
この例は、’Hess toy trucks’という用語を検索するユーザーです。 ユーザーが用語を入力すると、それらをリダイレクトするページがあり、PHPページsearchpageにif文を作成する必要があるように、ページHess toy trucksを作成する必要があります。どの用語が選択されているかを確認するphp。
これはPHPページ、searchpageのものです。phpは、次のようになります:
基本的には、PHPページ、searchpage。phpでは、スーパーグローバル配列$_POSTを使用してユーザーが入力した検索用語を取得し、それを一連のif文と比較します。 ユーザーが入力した検索語が一連のifステートメントである検索語と一致する場合、ユーザーはURLがヘッダー関数で指定したページにリダイレクトされます。 いずれの検索語も一致しない場合、文、一致した検索は画面に出力されません。
このプロセスを単純化するために使用するトリックの1つは、ユーザーが入力した検索語を取得するときに、strtolower()関数を使用して文字列を小文字にするこ このため、ユーザーが入力した文字列に関係なく、小文字になります。 したがって、文字列を比較するときは、小文字のアルファベットの文字列とのみ比較することができます。 例として、”Hess Truck”、”HESS TRUCK”、”Hess truck”、および”HESS truck”を入力するさまざまなユーザーがあります。 これらを小文字に変換しなかった場合は、各単語の各文字を大文字にした各文字と比較する必要があります。 これらは退屈です。 文字列をすべて小文字に変換することで、文字列をすべて小文字に相当するものと比較するだけです。 したがって、if(result result==”hess truck”)行と比較するだけです。
検索ページには、必要な数の用語を入れることができます。phpとヘッダー機能を使用して目的のページにユーザーをリダイレクトします。
この検索エンジンは素晴らしい動作しますが、一つの問題があります。 ユーザーが探している正確なフレーズを入力した場合にのみ、結果が返されます。 たとえば、ユーザーがLM7805電圧レギュレータに関する情報を検索しようとしていて、”LM7805″だけではなく”LM7805電圧レギュレータ”と入力した場合、検索はLM7805電圧レギュレータのページにリダイレクトされません。 これは、コードに従って、if文がフレーズ(==)の正確な等しいものを検索するためです。 したがって、それは完全に一致する必要があります。 別の検索クエリにも同じことがあります。 ユーザーが”google”ではなく”googleホームページ”と入力した場合、その人はgoogleウェブサイトには表示されません。 これは、if文が直接等しい(==)を探すためです。 そのため、「googleホームページ」や「google検索エンジン」などのフレーズにgoogleという単語が含まれている場合、ユーザーは検索に「google」という単語が含まれているため、googleホームページにリダイレクトされます。 ユーザーがタイプした場合も同じこと”LM7805電圧レギュレータ”で。 検索クエリには”LM7805″という語句が含まれているため、検索エンジンはこれを認識し、ユーザーをLM7805電圧レギュレータページに再ルーティングします。
では、これはどのように行われますか? それは簡単です。 Phpのif文が直接等しい(==)であるのではなく、if(str result==”google”)のように、直接等しい必要があります。if(strpos(str result,”google”)==”true”)
この文は、検索クエリで”google”というフレーズを検索します。 そのフレーズの位置が文字列内に存在する場合、if文はtrueです。 これは、検索クエリに’google’が存在する限り、if文が真であるためです。 そして、その下にヘッダーの場所redirectfunctionを置きます。
したがって、searchpage2という名前の新しいsearchpageを作成します。phpとif文を変更し、上記のように、我々は以下に示すように、このファイルを取得します。
今、私たちは、文字対文字の直接の一致を必要としない検索エンジンを持っています。 ユーザーが”youtube homepage”または”youtube videos”と入力した場合、検索クエリに”youtube”という単語が含まれているため、youtubeホームページにリダイレクトされます。
そして、あなたはこの検索エンジンを洗練し続けることができます。 たとえば、ユーザーが単にgoogleホームページにルーティングするのではなく、”googleマップ”を入力した場合、結果に”google”と”マップ”が含まれている場合は、単にgoogleホームページではな 同じルートフレーズ’google’を使用しているが、google内の異なるカテゴリに対してこれを行う場合は、if文の代わりにif else文を使用することをお勧めします。 しかし、and文を使用している場合は絶対に必要ではありません。 このif文は次のようになりますif((strpos(str result,”google”)==”true”)&&(strpos(str result,”maps”)==”true”))
次に、ヘッダーの場所リダイレクト関数をheader(‘Location:https://maps.google.com/’)に配置します;
そして、これはあなたがより高度な、またはより多くのインテリジェントになることができます検索エンジンを構築する方法です。 あなたはより多くの部門とif文を作り続けます。 そのため、同じ検索内の「google」と「finance」のユーザータイプがある場合は、それらをgoogle financeページに移動できます。 ユーザーが同じ検索で「google」と「画像」を入力すると、それらを「google画像」ページに表示できます。 などなど。
これについていくつかのポイントは、searchpageを作成します。phpのページ。 そうするときは、<の前に絶対にスペースがないことを確認してください。phpタグ。 PHPタグの間にスペースを入れると、ブラウザに出力が送信され、コードは機能しません。 PHPがこのリダイレクト関数を実行する前に、ブラウザに出力を書き込むことはできません。 いいえ、<の前には何も行くことはできませんか?phpタグ、空白でさえありません。 それ以外の場合は、警告:ヘッダー情報を変更できません-ヘッダーはすでに送信されています(出力は/home/content/で開始されます。../検索ページ”php:1)。これは、PHPがリダイレクトを実行する前に、出力がすでにブラウザに書き込まれていたことを意味します。 PHPヘッダーの場所のリダイレクトでは、これは禁止されています。 また、同じ理由で、searchpageを保存するとき。phpファイルは、ANSIエンコーディングで保存します。 Unicode、unicodeビッグエンディアン、またはUTF-8エンコーディングで保存しないでください。 これらのエンコーディングは、空白がない場合でも、PHPコードの前に文字を暗号化して追加することができます。 ANSIは<の前に文字を追加しない最も純粋なエンコーディングですか?phpタグとこれは、最良の結果が生成されます。 このPHPヘッダー関数のエラーに関する詳細な記事を見るには、PHPヘッダーの場所エラー-警告を参照してください: ヘッダー情報を変更できません-既に送信されたヘッダー。
これはPHPで検索エンジンを作成する方法です。
関連リソース
PHPを使用してウェブサイトの独自の検索エンジンを作成する方法
PHPを使用してウェブサイトのカスタム検索エンジンを作成する方法
PHPを使用してウェブサイトの画像検索エンジンを作成する方法
PHPを使用してウェブサイトのビデオ検索エンジンを作成する方法
PHPを使用してウェブサイトのオーディオファイル検索エンジンを作成する方法
PHPを使用してウェブサイトの画像検索エンジンを作成する方法
PHPを使用してウェブサイトのオーディオファイル検索エンジンを作成する方法
PHPを使用してウェブサイトに画像をアップロードする方法
phpを使用してウェブサイトにファイルをアップロードする方法
Phpを使用してウェブサイト用の独自のファイル転送プロトコル(Ftp)を作成する方法
PHP
を使用してHTML WebフォームのページPHP
を使用してMySQLデータベースに画像を挿入する方法MySQLとPHPを使用して検索可能なデータベースを作成する方法PHP
を使用して任意の単語やフレーズのMySQLテーブルを検索する方法PHP
を使用してレジスタとログインページを作成する方法PHP