Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/06/2003, 12:37
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. lo que te haría falta es contar palabras .. eso lo podrías hacer con str_word_count() .. pero a su vez tendrías que comparar cada palabra con el "criterio" (que ha de ser una palabra .. no espacios).

Código PHP:
<?
$texto
="tengo un coche nuevo";
$criterio="nuevo";

// obtenemos un array con las palabras.
$palabras=explode(" ",$texto);
// contamos los elementos del array obtenido ...
$total_palabras=count($palabras);

// recorremos el array de palabras .. El "indice" del array será la posición que ocupe dentro de la frase.
foreach ($palabras as $posicion => $palabra){
   
// si se cumple que el criterio es igual a la palabra que estamos leyendo del array ...
    
if ($palabra == $criterio){
        
// calculamos el pocentaje como lo necesitas
        
$porcentaje=100-($posicion*100)/$total_palabras;
        
// y ya no hace falta mirar más así que terminamos el bucle (ciclo del foreach)
        
break;
    }

}

echo 
"Frase: ".$texto."<br>";
echo 
"Criterio: ".$criterio."<br>";
echo 
"Porcentaje: ".$porcentaje." %";

?>
Problemas o consideraciones ..

* Sólo buscar por un criterio .. y este ha de ser una palabra (no espacios).
* Si se repite el critério .. se toma como "porcentaje" la primera coincidencia/posición que se encuentre ...

Eso sería la base .. la verdad que sin saber como ha de trabajar la "lógica" (pues el ejemplo que hicistes primero y la explicación últmima != ) no sé si será eso lo que necesitas .. pero por ahí anda la cosa ..



Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 19/06/2003 a las 12:48