Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/03/2008, 15:59
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problemas con explode (!)

Tu problema no es el explode, tu problema es en la comparación de tu for, al poner: $i < count($palabras), cada vuelta del for, count te regresa la longitud de tu arreglo, pero como empiezas a borrar, la longitud decrece y no recorre todo el arreglo.

He probado este código en mi PC y funciona adecuadamente:
Código PHP:
<?php
header
"Content-type: text/plain" );
$str "Samsung se ha aliado con la firma de productos cosmeticos Nails Inc para lanzar una edicion especial de su telefono G600 que llevara el sobrenombre de Belle Las caracteristicas del terminal seran las mismas de la edicion normal mas el dispositivo sera de color purpura y se vendera con tres frascos de pintura de uñas incluyendo uno a juego con el color del celular El Samsung G600 Belle se vendera de forma exclusiva en la tienda britanica Phones4u";

$str strtolower($str);

$excluidas = array("la","lo","las","los","a""ante""bajo""cabe""con""contra""de""del""desde""durante""en""entre""hacia""hasta""mediante""para""por""pro""segun""sin""so""sobre""tras""versus""via","yo","tu","el","ella","nosotros","vosotros""ellos""hacer","que","cuando","como","porque","un","una","uno","dos","tres","es","son","se","su","sus","ha","han");

$palabras explode (" ",$str); // puede haber repetidas
//$palabras = array ("samsung","ha","sido","la","empresa","lider");

// purgo de palabras vacias
$total count($palabras);
for(
$i=0$i $total ; ++$i){
  if ( 
strlen($palabras[$i])==){
    unset( 
$palabras[$i] );
  }
}

//var_dump($palabras);

$total count($palabras);
for(
$i=0$i $total ; ++$i){
  if ( 
in_array(strtolower($palabras[$i]), $excluidas ) ){
     unset( 
$palabras[$i] );
  }
}

var_dump($palabras);
?>
Saludos.