Buongiorno... sto cercando di fare un piccolo algoritmo in php per estrapolare la frequenza delle parole in un testo.
Vi posto il codice scritto in modo elementare, visto il livello. Il problema che non riesco a spiegarmi è il perchè alcune parole nel testo vengono conteggiate bene e altre invece no. Per seguire la fase dei cicli utilizzo anche la stampa a video con gli echo e i var_dump e il ciclo viene processato bene però su un testo con almeno 20 parole esce fuori l'errore. $text lo prendo con $_POST dopo aver filtrato il risultato.
codice:
$arrText = explode(" ", preg_replace("/(\W\W*)|(#[ ]+#)(\r\n)/", " ", $text));
$i=0;
$stack[] ="";
foreach($arrText as $key => $row){
$cont = 0;
if(!in_array($row, $stack)){
for($x=0; $x < count($arrText); $x++){
$cont += substr_count($row, $arrText[$x]);
}
$ris[$i][$row] = $cont;
array_push($stack, $row);
$i++;
}
Potete aiutarmi ? quanto meno nel raggionamento.