Foros del Web » Programando para Internet » PHP »

Resaltar palabras buscadas ver 2

Estas en el tema de Resaltar palabras buscadas ver 2 en el foro de PHP en Foros del Web. Saludos, pues estoy queriendo hacer el codigo para resaltar las palabras buscadas, ahora bien, el codigo que encontre aca funciona cuando se ha buscado una ...
  #1 (permalink)  
Antiguo 14/01/2008, 18:23
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
Resaltar palabras buscadas ver 2

Saludos, pues estoy queriendo hacer el codigo para resaltar las palabras buscadas, ahora bien, el codigo que encontre aca funciona cuando se ha buscado una sola palabra pero si busco mas de 1 palabra, ya no funciona, entonces lo que habria que hacer es un explode por caracteres espacios y hacer el str_replace correspondiente, por cada palabra resultante del array generado por explode (o str_split).
Ahora bien, habra alguna forma de hacerlo en una sola linea con un each por ejemplo, talvez me puedan ayudar un poco con esto.

Código PHP:
$hunter_nombre='Harold Stanley Rivas Martinez';
            
$buscar='Harold Rivas';
            
$hunter_nombre=str_replace(each(explode(" ",$buscar))  , "<span class='resaltado'>$buscar</span>",$hunter_nombre);
            echo 
$hunter_nombre
este es el codigo de idea que tengo, aunque no funciona, sigo probando, pero talvez alguien pueda ayudarme a encontrar el error, estoy cansado ya y pues como que se me bloqueo el cerebro
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #2 (permalink)  
Antiguo 14/01/2008, 18:46
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
Re: Resaltar palabras buscadas ver 2

bueno si a alguien le sirve, lo resolvi combinando lo que tenia con lo que encontre en google
CSS
Código:
.resaltado{
	color: #000000;
	background: #55FF2A;
	font-weight: bold;
}
Código PHP:
function resaltar($buscar$texto
{
    
$frase=$buscar;
    
$claves=explode(" ",$frase);
    
$clave=array();
    
$clave=array_unique($claves);
    for(
$i=0;$i<count($clave);$i++)
    {
        
$palabra=trim($clave[$i]);
        
$palabrastrtolower($palabra);
        
$endondebuscas=$texto;
        
$resultado=str_replace($palabra,"<span class='resaltado'>".$palabra."</span>",$endondebuscas);
        
$texto=$resultado;

        
$palabraucfirst($palabra);
        
$endondebuscas=$texto;
        
$resultado=str_replace($palabra,"<span class='resaltado'>".$palabra."</span>",$endondebuscas);
        
$texto=$resultado;

        
$palabrastrtoupper($palabra);
        
$endondebuscas=$texto;
        
$resultado=str_replace($palabra,"<span class='resaltado'>".$palabra."</span>",$endondebuscas);
        
$texto=$resultado;
    }
    return 
$texto;
}
            
$hunter_nombre='Harold Stanley Rivas Martinez';
            
$buscar='Harold Rivas';
            
$hunter_nombre=resaltar($buscar,$hunter_nombre);
            echo 
$hunter_nombre;
        
?> 
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #3 (permalink)  
Antiguo 14/01/2008, 19:36
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Resaltar palabras buscadas ver 2



Aquí tienes una modificada, que utiliza expresiones regulares. Es un tanto mejor, ya que no importa las mayúsculas o minúsculas de la cadena $buscar. Resalta todas las coincidencias SIN cambiar o alterar las mayúsculas o minúsculas del texto original. Además es mucho más corta

Código PHP:
function resaltar($buscar$texto) { 
    
$claves explode(" ",$buscar); 
    
$clave array_unique($claves);
    
$num count($clave); 
    for(
$i=0$i $num$i++) 
        
$texto preg_replace("/(".trim($clave[$i]).")/i","<span class='resaltado'>\\1</span>",$texto);
    return 
$texto

 
$hunter_nombre 'HaRoLD StaNLey RivaS MaRTinEz'
$buscar 'HArOld RivAs'
 
$hunter_nombre resaltar($buscar,$hunter_nombre); 
 
echo 
$hunter_nombre
Un saludo,
  #4 (permalink)  
Antiguo 14/01/2008, 19:45
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
Re: Resaltar palabras buscadas ver 2

oye, gracias, lo probare y te cuento.
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #5 (permalink)  
Antiguo 20/10/2008, 11:58
 
Fecha de Ingreso: octubre-2008
Mensajes: 2
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Resaltar palabras buscadas ver 2

Como hago para que se resalten las tildes?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:15.