Comunidad de diseño web y desarrollo en internet online

ayuda con arrays 2

Citar            
MensajeEscrito el 10 Mar 2008 03:02 pm
hola amigos tengo el siguinete codigo:

Código :

$cadena = "hola esta es una prueba hola mundo"; 
$n="hola";
$trozos = explode(" ", $cadena);
$espacios=1;
$tamaño=strlen($cadena);
for($i=0;$i<$tamaño;$i++)
{
   if($cadena[$i]==' '){$espacios=$espacios+1;}
   } 

for($j=0;$j<$espacios;$j++)
{
echo "<br>".$trozos[$j];
if($trozos[$j]==$n)echo <b><br>".$trozos[$j]."</b></br>";
}


lo que quiero con el es que me imprima la palabra de la variable $n en este caso hola en negrita pero que el cambio se haga sobre $cadena osea deberia mostrarla asi:
hola esta es una prueba hola mundo

lo q deseo hacer es un buscador que segun la palabra que digite $n me la muestre dentro del texto en negrita, algo parecido a las ayudas que traen los software.

el codigo anterior es de prueba pues la busqueda ya todo eso lo tengo lo que no tengo es lo anteriormente explicado

de antemano muchas gracias compañeros :)

Por cerbero1987

27 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 10 Mar 2008 04:00 pm
1ro.- si el valor de $j lo estas buscando para lo que creo que lo estas buscando (recorrer los trozos) mejor prueba asi:

Método1:

Código :

for ($j=0;$j<count($trozos);$j++)  //recorrer el vector
  if(strcmp(strtoupper($n), strtoupper($trozos[$j]))==0)  //si son iguales
     echo <b><br>".$trozos[$j]."</b></br>";  //imprimir


Método2: (si simplemente quieres saber si la palabra existe)

Código :

if (strpos(strtoupper($cadena),strtoupper($n))===false)
  echo "no se encontró la palabra";
else
  echo "<b><br>".$n."</b></br>";  //imprimir


revisa aca sobre la comparación de cadenas

revisa aca sobre el conteo de elementos de un vector

revisa aca sobre el strpos

PD (método1): Creo que existe una función para comparar y que no es sensible a las mayúsculas (ojo, strcmp si lo es) pero no recuerdo cual... creo que strcmpi pero no estoy seguro... (tarea para la casa)
PD2 (método1): En el caso que hallan ",", "." o algun otro simbolo junto a la palabra este tambien pertenecerá a la posicion del vector y la busqueda fallará. ej: "hola, como esta?"

el explode resultará en: [hola,] [como] [esta?]

Por mauril26

161 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Mar 2008 04:15 pm
no repitas los post :|

lee las reglas de foro

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.