Non so se esiste, ma si fa presto a costruirlo in JS:
salvi tutte le singole parole in un vettore (hash) e conti le occorrenze. Poi ordini e il gioco e` fatto:
codice:
function wcount(orig,dest) { /* orig e dest sono gli oggetti dei campi */
var matr = new Array();
var parole = orig.value.split(/ +/); /* vettore con tutte le singole parole */
for(var i=0; i<parole.length; i++) { /* loop su tutte le parole */
if(matr[parole[i]][1]) { /* se la parola e` gia` definita */
matr[parole[i]][1]++; /* aumenta il conto */
} else {
matr[parole[i]] = new Array(parole[i],1); /* definisce la nuova parola (con freq. 1) */
}
}
hash.sort(sortArray); /* ordina la matrice */
dest.value = ""; /* svuota il campo di destinazione */
for(var i=0; i<5; i++) { /* scrive le 5 parole piu` frequenti */
dest.value += matr[i][0] + ", ";
}
}
function sortArray(a,b) { /* funzione di sort numerico sul secondo valore di ogni riga */
return(b[1] - a[1]);
}
Spero di aver fatto tutto correttamente (non ho provato, e la cosa non e` semplicissima).