Mr * Techie
Puede crear fácilmente su propio motor de búsqueda en PHP.
Este es un cuadro de texto donde un usuario escribe un término y presiona el botón enviar y luego es redirigido por el motor de búsqueda a la página que está buscando. Por ejemplo, un usuario puede escribir la frase, «youtube», y luego ser redirigido a la página de inicio de youtube.
Este tipo de motor de búsqueda no es Google. No busca en docenas de sitios y luego envía los resultados más relevantes en función de la consulta. No es tan avanzado. Lo que hace es, de acuerdo con la consulta de búsqueda que ingrese, si hay una instrucción if coincidente para esa consulta, redirigirá a una persona a la página más relevante de acuerdo con esa consulta. Por lo tanto, no es un motor de búsqueda que devuelve muchos resultados relevantes, sino un motor de búsqueda que redirige a un usuario a una página. Es un motor de búsqueda mucho más simple, pero sigue siendo muy efectivo para propósitos básicos y algo que puede desear para su sitio web.
Construir este tipo de motor de búsqueda en realidad no es difícil en absoluto. En realidad es un código muy simple.
Para hacer esto, comencemos con el HTML. Creamos un cuadro de texto, como se muestra a continuación:
Los únicos términos que contiene este motor de búsqueda hasta el momento:
Dropbox
Amazon
google
ebay
wikipedia
youtube
camión de juguete hess
LM7805
Código HTML
El Código HTML para crear este cuadro de texto de arriba es:
Ahora que hemos creado un cuadro de texto y un usuario puede escribir el término que está buscando, ahora necesitamos redirigir al usuario a la página necesaria en función de la consulta de búsqueda que ha introducido. Por ejemplo, si el usuario introduce la consulta de búsqueda, «wikipedia», entonces necesitamos redirigirlo al sitio web de wikipedia. Para hacer esto, usamos PHP. PHP extraerá el término de búsqueda que el usuario ha introducido y utilizará una serie de instrucciones if para ver si ese término coincide con un término que tenemos en nuestro sitio web. Si lo hace, entonces dirigimos al usuario a la página necesaria en ese término de búsqueda usando la función de encabezado PHP. Esto se explicará a continuación. Si ningún término de búsqueda coincide con ninguno de los que tenemos en nuestro sitio web, redirigimos al usuario a una página que dice «No se han encontrado búsquedas».
Ejemplo
Un ejemplo de esto es un usuario que busca el término «camiones de juguete Hess». Necesitamos crear la página Hess toy trucks para que cuando el usuario ingrese el término, tengamos la página a la que redirigirlos, y necesitamos crear una instrucción if en la página PHP, searchpage.php para comprobar qué término está seleccionado.
Esto es lo que la página PHP, searchpage.php, se verá como:
Básicamente, la página PHP, searchpage.php, recupera el término de búsqueda que el usuario ingresa usando el array superglobal, $_POST, y luego lo compara con una serie de sentencias if. Si el término de búsqueda que el usuario introdujo coincide con un término de búsqueda que es la serie de instrucciones if, el usuario es redirigido a la página que la URL especifica en la función de encabezado. Si ninguno de los términos de búsqueda coincide, la instrucción, Ninguna búsqueda coincidente se enviará a la pantalla.
un truco que usamos para simplificar este proceso es que cuando recuperamos el término de búsqueda que el usuario introdujo, escribimos en minúsculas la cadena usando la función strtolower (). Por eso, no importa qué cadena ingrese el usuario, se vuelve en minúsculas. Por lo tanto, cuando comparamos cadenas, solo podemos compararlas con la cadena con caracteres alfabéticos en minúsculas. Un ejemplo son los diferentes usuarios que escriben «Camión Hess», «CAMIÓN HESS», «camión Hess» y «camión HESS». Si no los convertimos a minúsculas, tendríamos que tener comparaciones con cada letra en mayúscula de cada palabra. Esto sería tedioso. Al convertir la cadena a todas las minúsculas, todo lo que debemos hacer es comparar la cadena con su equivalente en minúsculas. Por lo tanto, todo lo que debemos hacer es compararlo con la línea if (result result==»camión hess»).
Puede poner tantos términos como desee en la página de búsqueda.php y redirige a los usuarios a la página deseada usando la función de encabezado.
Este motor de búsqueda funciona muy bien, pero hay un problema. Solo devuelve un resultado si el usuario introduce la frase exacta que está buscando. Por ejemplo, si un usuario intenta buscar información sobre el regulador de voltaje LM7805 y los tipos en ‘regulador de voltaje LM7805’ en lugar de solo ‘LM7805’, la búsqueda no redirigirá a la página de reguladores de voltaje LM7805. Esto se debe a que, de acuerdo con el código, la instrucción if busca el igual exacto de la frase (==). Por lo tanto, debe ser una combinación perfecta. Lo mismo para otra consulta de búsqueda. Si un usuario escribe en «página de inicio de Google» y no en «google», la persona no será llevada al sitio web de Google. Esto se debe de nuevo a que la instrucción if busca una igualdad directa (==). Entonces, para contrarrestar, si la frase contiene la palabra Google, como ‘página de inicio de Google ‘o’ motor de búsqueda de Google’, el usuario seguirá siendo redirigido a la página de inicio de Google, porque su búsqueda contiene la palabra’google’. Lo mismo si el usuario escribe «regulador de voltaje LM7805». Debido a que la consulta de búsqueda contiene la frase ‘LM7805’, el motor de búsqueda reconoce esto y redirige a la persona a la página del regulador de voltaje LM7805.
Entonces, ¿cómo se hace esto? Es simple. En lugar de que la instrucción if de php sea directamente igual (==), como en,if (result result==»google»), que debe ser directamente igual, cambiamos la instrucción a, if (strpos (result result, «google») == «true»)
Lo que hace esta instrucción es buscar la frase, ‘google’, en la consulta de búsqueda. Si la posición de esa frase está presente en la cadena, la instrucción if es verdadera; si es verdadera, podemos redirigirlos a la página de inicio de Google. Esto se debe a que mientras ‘google’ esté presente en la consulta de búsqueda, la declaración if es verdadera. Y luego debajo ponemos la función de redireccionamiento de ubicación del encabezado.
Así que creamos una nueva página de búsqueda llamada searchpage2.php y cambiar las sentencias if, como se muestra arriba, obtendremos este archivo, que se muestra a continuación.
Ahora tenemos un motor de búsqueda que no requiere una coincidencia directa de carácter por carácter. Si el usuario escribe ‘página de inicio de youtube’ o ‘vídeos de youtube’, seguirá siendo redirigido a la página de inicio de youtube, porque la consulta de búsqueda contiene la palabra ‘youtube’.
Y puedes seguir refinando este motor de búsqueda. Por ejemplo, si un usuario escribe ‘google maps’ en lugar de simplemente redirigirlos a la página principal de Google, puede crear otro estado if que si el resultado contiene ‘google’ y ‘maps’ para redirigir al usuario a google maps en lugar de simplemente a la página principal de Google. Si haces esto donde estás usando la misma frase raíz ‘google’ pero para diferentes categorías dentro de Google, es mejor usar declaraciones if else en lugar de solo declaraciones if. Pero no es absolutamente necesario si está usando declaraciones and. Esta instrucción if se vería así, if ((strpos (result result, «google») = = «true») & &(strpos (result result, «maps») = = «true»))
Entonces debajo colocaría la función de redirección de ubicación del encabezado a, header (‘Location: https://maps.google.com/’);
Y así es como puedes construir un motor de búsqueda que puede volverse más y más avanzado, o más y más inteligente. Sigues haciendo más divisiones y declaraciones de si. Por lo tanto, si un usuario escribe en ‘google’ y ‘finanzas’ dentro de la misma búsqueda, puede llevarlos a la página de finanzas de Google. Si un usuario escribe ‘google’ e ‘imágenes’ en la misma búsqueda, puedes llevarlos a la página ‘imágenes de Google’. Y así sucesivamente.
Algunos puntos para hacer sobre esta creación de la página de búsqueda.página php. Cuando lo haga, asegúrese de que no haya absolutamente ningún espacio antes de <?etiqueta php. Poner espacio entre la etiqueta PHP puede enviar la salida al navegador y el código no funcionará. Antes de que PHP pueda ejecutar esta función de redirección, no se puede escribir ninguna salida en el navegador. ¿No puede pasar nada antes de <?etiqueta php, ni siquiera espacio en blanco. De lo contrario, obtendrá un error que dice algo como, Advertencia: No se puede modificar la información del encabezado – encabezados ya enviados por (salida iniciada en /home/content/…/ página de búsqueda.php:1).Esto significa que antes de que PHP realizara la redirección, la salida ya estaba escrita en el navegador. Con el redireccionamiento de ubicación de encabezado PHP, esto está prohibido. También, por la misma razón, cuando guardas la página de búsqueda.archivo php, guárdelo en codificación ANSI. No lo guarde en codificación unicode, unicode big endian o UTF-8. Esta codificación puede cifrar y agregar caracteres antes del código PHP incluso cuando no hay espacio en blanco allí. ¿ANSI es la codificación más pura que no agrega caracteres antes de <?etiqueta php y esto producirá los mejores resultados. Para ver un artículo más detallado sobre este error de función de encabezado PHP, consulte Advertencia de error de ubicación de encabezado PHP: No Se Puede Modificar La Información Del Encabezado: Los Encabezados Ya Enviados.
Así es como se crea un motor de búsqueda en PHP.
Recursos Relacionados
Cómo Crear Tu Propio Motor de Búsqueda Para Su sitio Web Usando PHP
Cómo Crear un Motor de Búsqueda Personalizado Para Tu sitio Web Usando PHP
Cómo Crear un Motor de Búsqueda de Imágenes Para Su sitio Web Usando PHP
Cómo Crear un Motor de Búsqueda de vídeo Para Su sitio Web Usando PHP
Cómo Crear un Archivo de Audio Motor de Búsqueda Para Su sitio Web Usando PHP
Cómo Subir Imágenes a un sitio Web Usando PHP
¿Cómo Subir Archivos a un sitio Web Usando PHP
Cómo Crear Su Propio Protocolo de Transferencia de Archivos (FTP) Para Su sitio Web Usando PHP
Cómo Crear una Confirmación de Página para un Formulario Web HTML Utilizando PHP
Cómo Insertar Imágenes en una Base de Datos MySQL Utilizando PHP
Cómo Crear una Base de Datos con Capacidad de Búsqueda Utilizando MySQL y PHP
Cómo Buscar En una Tabla MySQL Cualquier Palabra o Frase Utilizando PHP
Cómo Crear una Página de Registro e Inicio de sesión Utilizando PHP