Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/12/2016, 10:43
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sacar las palabras que mas se repiten en un texto

Talvez esto:

Código PHP:
Ver original
  1. $texto = "texto aquí";
  2. $bannedWords = array("el", "la", "lo", "los", "la", "las", "un", "el", "una", "un", "unos");
  3. $largo = 5;
  4.  
  5. $t = explode(" ", strtolower(preg_replace("[^A-Za-zñÑáéíóúÁÉÍÓÚ' ']", "", $texto)));
  6. $r = array();  
  7. for($k=0;$k<sizeof($t);$k++){
  8. $w = $t[$k];
  9.     if(!in_array($w, $bannedWords) && strlen($w)>=$largo){
  10.         if(array_key_exists($w,$r)){
  11.         $n = intval($r[$w]);
  12.         $r[$w] = ++$n;
  13.         }
  14.         else{
  15.         $r[$w] = 1;
  16.         }  
  17.     }
  18. }
  19. arsort($r);
  20. $repit=$r;

Ahora $repit es un arreglo asociado, en donde las llaves sno las palabras y su valor cuantas veces se repiten y esta ordenado desendiente.

Variables:
$texto, El texto.
$bannedWords: Palabras que quieras que no cuenten
$largo: Tomar en cuenta solo palabras igual o más largas que a esta variable

Debería andar bien

P.S: la expresión regular que puse es una mie... no se de exp. reg.

EDITE!!

Última edición por alvaro_trewhela; 03/12/2016 a las 17:05