A ver, probá esto:
Código PHP:
<?php
include('bdconex.php'); // Este archivo contiene los datos de conexión a la BD
// creamos una función que resaltará todas las palabras que coincidan con la búsqueda realizada
if(!function_exists('str_ireplace')) {
function str_ireplace($search,$replace,$subject) {
$search = preg_quote($search, "/");
return preg_replace("/".$search."/i", $replace, $subject); } }
function resaltar($palabra, $texto) {
$reemp=str_ireplace($palabra,'%s',$texto);
$ub=strpos($reemp,'%s');
if($ub===false)return $texto;
$pal_original=substr($texto,$ub,strlen($palabra));
return sprintf($reemp,'<strong>'.$pal_original.'</strong>');
}
// iniciamos el proceso de búsqueda
if (isset($_POST["buscar"])) {
if($_POST['palabra'] == '') {
echo "No has ingresado ninguna palabra a buscar <a href='javascript:history.back()'>Regresar</a>";
}else {
$tabla = "noticias";
$campo = "titulo";
// quitamos cualquier código malicioso de $_POST['palabra']
$palabra = stripslashes($_POST['palabra']);
$palabra = strip_tags($palabra);
// hacemos la consulta a la base de datos según la palabra encontrada
$query = mysql_query("SELECT * FROM $tabla WHERE $campo LIKE '%".$palabra."%'");
$mostrar = mysql_num_rows($query); // obtenemos la cantidad de coincidencias encontradas
if(mysql_num_rows($query) == "0") {
echo "No hay coincidencias encontradas para <strong>".$palabra."</strong> <a href='javascript:history.back()'>Regresar</a>";
}else {
?>
Se han encontrado <strong><?=$mostrar?></strong> coincidencias para <strong><?=$palabra?></strong>
<?php
while($datos = mysql_fetch_array($query)) {
$str = $datos["titulo"];
//$pal = array($palabra);
?>
<ul>
<li><?=resaltar($palabra, $str)?></li>
</ul>
<?php
}
}
}
}else {
?>
<form action="buscar.php" method="post">
<input name="palabra" type="text" />
<input name="buscar" type="submit" value="Enviar" />
</form>
<?php
}
?>