Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/04/2008, 02:41
Avatar de Eleazan
Eleazan
 
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: Contar palabra en string

prueba con esto (hecho `onthefly`)


Código PHP:
function contar_palabras($cadena,$palabra) {
$i=0;

while(
$cadena strstr($cadena,$palabra)) {
$cadena=substr($cadena,1);
$i++;
}

return 
$i

¿Que hace?
strstr devuelve una cadena a partir de la primera ocurrencia de palabra o caracter
substr devuelve una cadena a partir de la posicion.

Más info de ambas:
StrStr
SubStr

La idea es simple, buscas que exista palabra, despues, te quedas con la frase a partir de la primera ocurrencia de palabra, luego, le quitas la primera letra, contador ++, y vuelves a buscar, etc


Ejemplo:

contar_palabras("Mi mama me mima mucho mama mima :)","mama");


strstr->$cadena pasaria a ser "mama me mima mucho mama mima :)";
substr->$cadena pasaria a ser "ama me mima mucho mama mima :)";
i=1
strstr->$cadena pasaria a ser "mama mima :)";
substr->$cadena pasaria a ser "ama mima :)";
i=2;
strstr-> FALSE, por lo cual no entra al bucle.


Resultado= 2 :)