PHP - Buscar palabra en archivo.txt Error, arroja...

   
Vista:

Buscar palabra en archivo.txt Error, arroja...

Publicado por FreddyDJesus (8 intervenciones) el 03/07/2014 02:18:19
Saludos y Bendiciones a Todos

Encontré un codigo en php que me busca una cadena dentro de un archivo de texto, utiliza if y else, me encunetra la palabra y me dice si existe o no.
Pero dependiendo de que tan lejos este la posicion de la cadena dentro del archivo me ejecuta la accion contraria y la imprime (es mi analisis)

Este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function buscarPalabra($rutaSimbolos)
{
$rutaSimbolos="tabla_de_simbolos.txt";
$archivoTds1=fopen($rutaSimbolos, "r+");
 
 
$palabra = "exit";
 
$x = 1;
 
while(!feof($archivoTds1))
{
 
$busca = fgets($archivoTds1);
 
//if (strstr($busca, $palabra))
if (strpos($busca, $palabra))
 
{
 
echo "<p>Palabra encontrada: <b>$palabra</b></p>";
 
return;
}
else
{
echo 'No se encontro la palabra ' .$palabra. ', es un Infiltrado (Verifique Mayusculas y Minusculas)';
 
}
 
$x++;
 
}
 
fclose($archivoTds1);
return $archivoTds1;
}


y en el caso de esa palabra "exit" que es una de las ultimas cadenas dentro del archivo de texto, me aroja como resultado esto:

No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)No se encontro la palabra exit, es un Infiltrado (Verifique Mayusculas y Minusculas)

Palabra encontrada: exit

¿a que se debe eso?
NECESITO Corregir eso para mañana si es posible.
GRACIAAAAAAAAS!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Buscar palabra en archivo.txt Error, arroja...

Publicado por xve (5516 intervenciones) el 03/07/2014 10:10:22
Hola Freddy, entiendo que el problema esta en la cantidad de mensajes....

Es sencillo, quita el echo del bucle!!! algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function buscarPalabra($rutaSimbolos)
{
	$rutaSimbolos="tabla_de_simbolos.txt";
	$archivoTds1=fopen($rutaSimbolos, "r+");
 
	$palabra = "exit";
 
	$x = 1;
 
	while(!feof($archivoTds1))
	{
		$busca = fgets($archivoTds1);
		//if (strstr($busca, $palabra))
		if (strpos($busca, $palabra))
		{
			echo "<p>Palabra encontrada: <b>$palabra</b></p>";
			return;
		}
		$x++;
	}
	echo 'No se encontro la palabra ' .$palabra. ', es un Infiltrado (Verifique Mayusculas y Minusculas)';
	fclose($archivoTds1);
	return $archivoTds1;
}


P.D. Es muy importante tabular bien el código!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar palabra en archivo.txt Error, arroja...

Publicado por FreddyDJesus (8 intervenciones) el 16/07/2014 04:39:10
Muchas Gracias xve Bendiciones!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar