Hola, necesito hacer un script que abra un archivo y le devuelva al usuario un listado de las palabras que aparecn en el texto... (sin que se repitan las palabras) y el numero de la o las lineas donde aparece la palabra. si aparece 2 o mas veces en una linea que solo se meustre una sola ves el numero.
Para esto diseñe el siguente codigo pero que no funciona muy bien ya que en algunos casos algunas palabras no aparecen y otras sale repetidas.
Les muesto el codigo a ver si me pueden hechar una mano...
Código PHP:
<?php
if($_POST[action]){
$file = "texto.txt";
$fp = fopen($file,'r');
$texto = fread($fp, filesize($file));
$line=explode("\n",$texto);
$words=array_unique(explode(" ",$texto));
for($k=0; $k<=count($line); $k++)
$text[$k]=explode(" ",$line[$k]);
for($n=0; $n<=count($words); $n++){
$band=true;
for($l=0; $l<=count($text); $l++){
for($p=0; $p<count($text[$l]); $p++){
if($words[$n]==$text[$l][$p] &&$words[$n]!="" ){
if($band==true){
$return .= $words[$n].": ".($l+1);
$band=false;
}
else
$return .= " ,".($l+1);
}
}
}
$return .="\n";
}
}
?>
la idea consiste en abrir un archivo, usar un explode y un \n para crear un array donde cada casilla es una linea del texto... despues explorar de nuevo cada linea y colocar en un arreglo adicional un array por casilla que contiene cada palabra corresoindiete a la linea...
Espero entieda lo que necesito, la forma en que lo codifique y me puedan ayudar a corregirlo.
Saludos, y gracias de antemano y perdon por la mala ortografia y redaccion... ayudado por fallas del teclado :P