Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2006, 13:51
jorge_368
 
Fecha de Ingreso: mayo-2004
Mensajes: 89
Antigüedad: 22 años, 5 meses
Puntos: 1
Pregunta Funcion : Dividir cadena

Buenas! Estoy creando una función para dividir una cadena en palabras y así poder guardarlas en un array, pero no conssigo que funcione. A ver si alguien le puede echar un vistazo y me dice dónde está el error.. Muchas gracias de antemano!
Código PHP:
function dividir($cadena){
$str = $cadena;
$veces = substr_count($str, ' ');  //numero de espacios
$coincidencias = array(); //array donde guardo las palabras
if ($veces == 0){  //si no hay espacios => solo una palabra ; la guardo
$coincidencias[0] = $str;
}else{
$v =1;
while (
$v<=$veces){ //recoorro  los espaciios y voy dividiendo..
if ($v ==  $veces){ //  si es el último espacio...
$posicion = strpos($str, ' ', $veces); //posicion espacio inicial
$longitud = strlen($str); //longitud de la cadena
$lg = $longitud - $posicion; //longitud palabra
$palabra = substr($str,$posicion,$lg);
$coincidencias[$v] = $palabra;
}else{ 
//voy dividiendo
    
$pos = strpos($str, ' ', $v-1); //posicion espacio inicial
    
$ps = strpos($str, ' ', $v);//posicion espacio final
    
$longitud = $ps -$pos; // longitud
    
$palabra = substr($str, $pos, $longitud);  //saco la palabra
    
$coincidencias[$v] = $palabra; // la guardo
    
}
++
$v;    
}
}
return 
$coincidencias; //devuelvo el array
}