Código PHP:
<?php
$texto = "Amigos, gracias a sus multiples ayudas he logrado avanzar un poco en PHP y mySQL.
Creo que lo que mas puede añorar una persona es tener un buscador en su web.
Precisamente es lo que intento, y me he topado con esta dificultad:
(Por favor ayudadme)
Hice una tabla en mySQL que se llama paginas.
alli esta el campo id y el campo contenido.
Con un form envio un campo de nombre \"busqueda\" a la pagina x.php, la cual tiene estas instrucciones:
\$sql = \"SELECT * FROM \$tabla WHERE contenido LIKE '%\".\$busqueda.\"%' \";
\$result = mysql_query(\$sql,\$conexion);
Esa consulta la almaceno en un campo al que llamo \"texto\", he hice un pequeño arreglo para mostrar \"adornado\" el resultado de la consulta:
PD: en esta pagina ingreso el valor de \$texto para facilitar un poco el que ustedes me ayuden.
Como veran, busco \$busqueda en \$texto, y saco el resultado.
Todo \"esta bien\", pero como hago esto mismo si \$calve son 2 palabaras?
Muchas gracias por la ayuda que me brinden.";
////////////////////////// AQUI TERMINA EL TEXTO
////////////////////////// Y AQUI INICIA EL SCRIPT "BUSCADOR"
////////////////////////// Concideran ustedes que puedo hacer lo mismo de forma + sencilla?
////////////////////////// Como?, con que funcion?
////////////////////////// Como busco una palabra completa en una cadena de multiples palabras?
////////////////////////// Y si son 2 o + palabras?
////////////////////////// Para el buscador he pensado colocar todas las paginas en la BD con un id.
////////////////////////// Eso no es lo que debo hacer?
////////////////////////// Que me aconsejan?.
////////////////////////// No he podido dar uso a la funcion eregi()
////////////////////////// Si se busca por ejemplo "precisamente" no lograre que me salga un
////////////////////////// resultado positivo, aunque si esta la palabra. (Por la Mayuscula)
////////////////////////// Gracias, espero su ayuda.
$palrededor = 5; //Definimos qantas palabras alrededor seran mostradas
$textodividi = explode(" ",$texto); //Dividimos el texto en palabras
$numpalabras = count($textodividi); //Contamos el numero de palabras
//$clave = "nuestros"; //Lo que se buscara
$clave = trim($clave); //Quitamos epacios para evitar errores
for ($i = 0; $i < $numpalabras; $i++)
{if ($textodividi[$i] == $clave){$hallazgo = $i;} else {echo "";}}
$m = isset($hallazgo); //Averiguamos si $hallazgo esta vacia
if ($m < 1)
{echo "Lo sentimos, no hallamos coincidencias.";} else {
for ($inicio = $hallazgo - $palrededor; $inicio < $hallazgo + $palrededor + 1; $inicio++)
{$salida .= $textodividi[$inicio]." ";}
}
$salida = ereg_replace("\n","<BR>",$salida);
$salida = ereg_replace("$clave","<B>$clave</B>",$salida);
echo "$salida...<HR>";
?>
<FORM ACTION="pagina.php" METHOD=POST><INPUT TYPE=TEXT name=clave><INPUT TYPE=SUBMIT VALUE=Buscar></FORM>