Hacer un Search Engine para tu Web site con PHP
| by Rory Canyon | October 28, 2005
Esto las manos en el artículo de programación de PHP proporciona el conocimiento necesario para diseñar y para desarrollar un Search Engine para tu Web site usando la versión 4.0 de PHP y arriba. La fabricación de un Search Engine para tu Web site con PHP es realmente fácil y proporciona la funcionalidad substancial requerida por la mayor parte de los Web site pequeños-medios. Este artículo introduce cada los pasos del desarrollo, incluyendo diseño y la programación de PHP. Las habilidades de la computadora y el conocimiento básicos de los fundamentales del HTML se requieren. La autorización, nos dejó ahora comienza.
Paso 1: Caja de la búsqueda del diseño
Bajo tu raíz del Web site, hacer un archivo llamado search.htm o cualquier cosa que tienes gusto y mecanografía adentro el código siguiente:
<html>
<head>
<title>Web Search</title>
http-equiv= " Contenido-Tipo " content= " texto/HTML " del <meta >
</head>
text= <body " #000000 " del " #FFFFFF " del bgcolor= >
action= " search.php " del " poste " del method= del name= " form1 " del <form >
width= <table " 100% " cellspacing= " 0 " cellpadding= " 0 " >
<tr>
width= el " 36% " del <td >
align= " centro " del <div >
name= " palabra clave " del " texto " del type= del <input >
</div>
</td>
width= el " 64% " del <td >
el type= del <input " somete " el name= " somete " el value= " búsqueda " >
</td>
</tr>
</table>
</form>
</body>
</html>
Paso 2: Escribir el archivo de search.php. Es la base de tu Search Engine del Web site.
Bajo tu raíz del Web site, crear un archivo llamado search.php o cualquier cosa que tienes gusto.
¿<? php
palabras claves de //get
$keyword=trim ($_POST [“palabra clave”]);
//check si la palabra clave es vacía
si ("" de $keyword==) {
no repetir " ninguna palabra clave ";
salida;
}
?>
Con arriba, puedes dar indirectas a tus usuarios cuando ella se olvida de incorporar una palabra clave. Ahora dejarnos pasan a través de todos los archivos o artículos en tu Web site.
¿<? php
listFiles de la función ($dir) {
$handle=opendir ($dir);
¡mientras que (falso! == ($file=readdir ($handle))){
¡si ($file! = ". ¡“&&$file! =”. ”) {
//if es un directorio, entonces continúa
si (is_dir (“$dir/$file”)){
listFiles (“$dir/$file”);
}
{
//process el buscar aquí con la escritura siguiente de PHP
}
}
}
}
?>
Las escrituras siguientes leen, los archivos y cheque de proceso si los archivos contienen $keyword. Si $keyword se encuentra en el archivo, la dirección del archivo será ahorrada en un poner en orden-tipo variable.
¿<? php
listFiles de la función ($dir, $keyword, &$array) {
$handle=opendir ($dir);
¡mientras que (falso! == ($file=readdir ($handle))){
¡si ($file! = ". ¡“&&$file! =”. ”) {
si (is_dir (“$dir/$file”)){
listFiles (“$dir/$file”, $keyword, $array);
}
{
archivo de //read
$data=fread (fopen (“$dir/$file”, “r”), filesize (“$dir/$file”));
búsqueda search.php sí mismo de //avoid
¡si ($file! = " search.php ") {
¿palabra clave de //contain?
si (eregi (“$keyword”, $data)){
$array [] = " $dir/$file ";
}
}
}
}
}
}
arsenal $array de //define
$array=array ();
función de //execute
listFiles (“. ”, “php”, $array);
resultados de la búsqueda de //echo/print
foreach ($array como $value) {
eco “$value”. “<br> n”;
}
?>
Ahora, combinar los programas enumerados arriba, encontrarás todos los resultados relacionados en tus Web site serás encontrado y enumerado. Otra optimización del Search Engine puede ser tomada agregando el siguiente,
1, enumera el título de todos los resultados que buscan
SUBSTITUIR EL SIGUIENTE
si (eregi (“$keyword”, $data)){
$array [] = " $dir/$file ";
}
CON
si (eregi (“$keyword”, $data)){
si (eregi (“<title> (. +)
</title> ", $data, $m)){
$title=$m [“1”];
}
{
$title= " ningún título ";
}
$array [] = " $dir/$file $title ";
}
2, agregan acoplamientos a buscar resultados
CAMBIAR EL SIGUIENTE
foreach ($array como $value) {
eco “$value”. “<br> n”;
}
A
foreach ($array como $value) {
enumerar ($filedir, $title) el =split (“[]”, $value, “2”);
repetir el “<a href=$filedir>$value</a>”. “<br> n”;
}
Límite de tiempo determinado 3 para la ejecución de PHP
AGREGAR EL SIGUIENTE AL PRINCIPIO DE LOS ARCHIVOS DE PHP
set_time_limit (“600”);
La unidad antedicha es second, tan diez minutos son el litmit.
Ahora, combinar todos los programas antedichos y conseguir el archivo completo de search.php como siguiendo,
¿<? php
set_time_limit (“600”);
$keyword=trim ($_POST [“palabra clave”]);
si ("" de $keyword==) {
el eco " incorpora por favor tu palabra clave ";
salida;
}
listFiles de la función ($dir, $keyword, &$array) {
$handle=opendir ($dir);
¡mientras que (falso! == ($file=readdir ($handle))){
¡si ($file! = ". ¡“&&$file! =”. ”) {
si (is_dir (“$dir/$file”)){
listFiles (“$dir/$file”, $keyword, $array);
}
{
$data=fread (fopen (“$dir/$file”, “r”), filesize (“$dir/$file”));
si (eregi (“<body ([^>] +) > (. +) </body>”, $data, $b)){
$body=strip_tags ($b [“2”]);
}
{
$body=strip_tags ($data);
}
¡si ($file! = " search.php ") {
si (eregi (“$keyword”, $body)){
si (eregi (“<title> (. +) </title>”, $data, $m)){
$title=$m [“1”];
}
{
$title= " ningún título ";
}
$array [] = " $dir/$file $title ";
}
}
}
}
}
}
$array=array ();
listFiles (“. ”, “$keyword”, $array);
foreach ($array como $value) {
enumerar ($filedir, $title) el =split (“[]”, $value, “2”);
repetir el “<a href=$filedir target=_blank>$title </a>”. “<br> n”;
}
?>
¡Ahora, has hecho un Search Engine para tu Web site, gozas de él!
Paso 1: Caja de la búsqueda del diseño
Bajo tu raíz del Web site, hacer un archivo llamado search.htm o cualquier cosa que tienes gusto y mecanografía adentro el código siguiente:
<html>
<head>
<title>Web Search</title>
http-equiv= " Contenido-Tipo " content= " texto/HTML " del <meta >
</head>
text= <body " #000000 " del " #FFFFFF " del bgcolor= >
action= " search.php " del " poste " del method= del name= " form1 " del <form >
width= <table " 100% " cellspacing= " 0 " cellpadding= " 0 " >
<tr>
width= el " 36% " del <td >
align= " centro " del <div >
name= " palabra clave " del " texto " del type= del <input >
</div>
</td>
width= el " 64% " del <td >
el type= del <input " somete " el name= " somete " el value= " búsqueda " >
</td>
</tr>
</table>
</form>
</body>
</html>
Paso 2: Escribir el archivo de search.php. Es la base de tu Search Engine del Web site.
Bajo tu raíz del Web site, crear un archivo llamado search.php o cualquier cosa que tienes gusto.
¿<? php
palabras claves de //get
$keyword=trim ($_POST [“palabra clave”]);
//check si la palabra clave es vacía
si ("" de $keyword==) {
no repetir " ninguna palabra clave ";
salida;
}
?>
Con arriba, puedes dar indirectas a tus usuarios cuando ella se olvida de incorporar una palabra clave. Ahora dejarnos pasan a través de todos los archivos o artículos en tu Web site.
¿<? php
listFiles de la función ($dir) {
$handle=opendir ($dir);
¡mientras que (falso! == ($file=readdir ($handle))){
¡si ($file! = ". ¡“&&$file! =”. ”) {
//if es un directorio, entonces continúa
si (is_dir (“$dir/$file”)){
listFiles (“$dir/$file”);
}
{
//process el buscar aquí con la escritura siguiente de PHP
}
}
}
}
?>
Las escrituras siguientes leen, los archivos y cheque de proceso si los archivos contienen $keyword. Si $keyword se encuentra en el archivo, la dirección del archivo será ahorrada en un poner en orden-tipo variable.
¿<? php
listFiles de la función ($dir, $keyword, &$array) {
$handle=opendir ($dir);
¡mientras que (falso! == ($file=readdir ($handle))){
¡si ($file! = ". ¡“&&$file! =”. ”) {
si (is_dir (“$dir/$file”)){
listFiles (“$dir/$file”, $keyword, $array);
}
{
archivo de //read
$data=fread (fopen (“$dir/$file”, “r”), filesize (“$dir/$file”));
búsqueda search.php sí mismo de //avoid
¡si ($file! = " search.php ") {
¿palabra clave de //contain?
si (eregi (“$keyword”, $data)){
$array [] = " $dir/$file ";
}
}
}
}
}
}
arsenal $array de //define
$array=array ();
función de //execute
listFiles (“. ”, “php”, $array);
resultados de la búsqueda de //echo/print
foreach ($array como $value) {
eco “$value”. “<br> n”;
}
?>
Ahora, combinar los programas enumerados arriba, encontrarás todos los resultados relacionados en tus Web site serás encontrado y enumerado. Otra optimización del Search Engine puede ser tomada agregando el siguiente,
1, enumera el título de todos los resultados que buscan
SUBSTITUIR EL SIGUIENTE
si (eregi (“$keyword”, $data)){
$array [] = " $dir/$file ";
}
CON
si (eregi (“$keyword”, $data)){
si (eregi (“<title> (. +)
</title> ", $data, $m)){
$title=$m [“1”];
}
{
$title= " ningún título ";
}
$array [] = " $dir/$file $title ";
}
2, agregan acoplamientos a buscar resultados
CAMBIAR EL SIGUIENTE
foreach ($array como $value) {
eco “$value”. “<br> n”;
}
A
foreach ($array como $value) {
enumerar ($filedir, $title) el =split (“[]”, $value, “2”);
repetir el “<a href=$filedir>$value</a>”. “<br> n”;
}
Límite de tiempo determinado 3 para la ejecución de PHP
AGREGAR EL SIGUIENTE AL PRINCIPIO DE LOS ARCHIVOS DE PHP
set_time_limit (“600”);
La unidad antedicha es second, tan diez minutos son el litmit.
Ahora, combinar todos los programas antedichos y conseguir el archivo completo de search.php como siguiendo,
¿<? php
set_time_limit (“600”);
$keyword=trim ($_POST [“palabra clave”]);
si ("" de $keyword==) {
el eco " incorpora por favor tu palabra clave ";
salida;
}
listFiles de la función ($dir, $keyword, &$array) {
$handle=opendir ($dir);
¡mientras que (falso! == ($file=readdir ($handle))){
¡si ($file! = ". ¡“&&$file! =”. ”) {
si (is_dir (“$dir/$file”)){
listFiles (“$dir/$file”, $keyword, $array);
}
{
$data=fread (fopen (“$dir/$file”, “r”), filesize (“$dir/$file”));
si (eregi (“<body ([^>] +) > (. +) </body>”, $data, $b)){
$body=strip_tags ($b [“2”]);
}
{
$body=strip_tags ($data);
}
¡si ($file! = " search.php ") {
si (eregi (“$keyword”, $body)){
si (eregi (“<title> (. +) </title>”, $data, $m)){
$title=$m [“1”];
}
{
$title= " ningún título ";
}
$array [] = " $dir/$file $title ";
}
}
}
}
}
}
$array=array ();
listFiles (“. ”, “$keyword”, $array);
foreach ($array como $value) {
enumerar ($filedir, $title) el =split (“[]”, $value, “2”);
repetir el “<a href=$filedir target=_blank>$title </a>”. “<br> n”;
}
?>
¡Ahora, has hecho un Search Engine para tu Web site, gozas de él!
Article Source: http://www.articleset.com

You are welcome to publish or reprint this article free of charge, provided:
- you include the entire article, unchanged, including the "About The Author" box
- all hyperlinks remain active, including the bottom ArticleSet.com link (does not apply to print publications)
- you agree not to hold the authors nor ArticleSet.com liable for any loss profits, expenses, or any other damages resulting from the use or misuse of articles published on this website