Foros del Web » Programando para Internet » PHP »

Contar orden de palabras en %

Estas en el tema de Contar orden de palabras en % en el foro de PHP en Foros del Web. Hola, a ver si alguine me hecha una mano, pq he probado mil cosas y ya no sé como hacerlo. Tengo un formulario con 2 ...
  #1 (permalink)  
Antiguo 19/06/2003, 06:41
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 15 años, 9 meses
Puntos: 0
Contar orden de palabras en %

Hola, a ver si alguine me hecha una mano, pq he probado mil cosas y ya no sé como hacerlo.

Tengo un formulario con 2 campos, texto y criterio.

Quiero saber en qué posición se encuentra criterio dentro de texto, pero en tanto por ciento. A ver si me explico, si texto tiene 10 palabras, y criterio aparece en la 5ª posicón que me muestre 50%.

Además, habría algún problema si criterio tiene varias palabras?

Por ejemplo:

texto: tengo un coche nuevo
criterio: coche nuevo

Pues un 50%.

Un saludo y a ver si alguien me hecha un cable plis.
  #2 (permalink)  
Antiguo 19/06/2003, 10:53
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 15 años, 8 meses
Puntos: 2
__________________
http://www.chorcha.com
  #3 (permalink)  
Antiguo 19/06/2003, 11:29
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 15 años, 9 meses
Puntos: 0
Creoq ue no me he explicado bien, quiero que me diga la posicion de una palabra en un texto pero de una forma diferente.

La frase "tengo un coche nuevo" tiene 4 palabras, la primera es un 100%, la segunda un 75 la tercera un 50y la cuarta un 25%.

el 100%significa que es la primera palabra. pq ocupa la primera posicón. La segunda un 75 pq hay una delante.

Lo que quiero es que desde un form le meto una palabra y me diga que tanto por ciento de posicon tiene.

Un saludo.
  #4 (permalink)  
Antiguo 19/06/2003, 13:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
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 13:48
  #5 (permalink)  
Antiguo 19/06/2003, 13:55
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 15 años, 9 meses
Puntos: 0
Muchas gracias, exatmanete esto es lo que necesitaba.

El problema es que el citerio en ocasiones sería una frase de 2 o 3 palabras(con espacios). Como podría resolver esto?

Un saludo y gracias de nuevo.

Con el sizeof podría resolverlo?
  #6 (permalink)  
Antiguo 19/06/2003, 14:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El sizeof() = count() ...

Pues .. ahora te toca a tí ponerte las pilas xD .. ya te dí el empujón jejej..

Para empezar .. ahora mismo yo mismo no sé que "algorímo" o "porcentaje" mostrar cuando es una frase .. pues las referencias al porcentaje si te das cuenta se hacen en relación a palabras ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:22.