Foros del Web » Programando para Internet » PHP »

Ordenar por paises un contenido txt

Estas en el tema de Ordenar por paises un contenido txt en el foro de PHP en Foros del Web. Hola muy buenas a todos a ver si alguien me puede iluminar un poco.. Resulta que tengo un txt con direciones ...ejemplo: ESPAÑA nombre empresa ...
  #1 (permalink)  
Antiguo 11/03/2010, 11:20
 
Fecha de Ingreso: marzo-2010
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 0
Ordenar por paises un contenido txt

Hola muy buenas a todos a ver si alguien me puede iluminar un poco..

Resulta que tengo un txt con direciones ...ejemplo:


ESPAÑA
nombre empresa
direccion
tel
mail



Estados unidos
nombre empresa
direccion
tel
mail


y asi hasta 1399 en total..
bien lo que queria hacer es un codigo que lee el archivo y luego una variable pais definiendo mediante arrays los paises..(ordenados alfabeticamnete)
mi intencion es mediante preg_match capturar esos paises y visualizarlos ordenadamente hasta donde le digo y la idea es que si lee por ejemplo pais que lea hasta que encuentre 2 rupturas de linea.. mi codigo lo tengo asi pero me quedo colgao no se que hago mal..

[CODE]
<?php

$pais = array ("Andorra", "Argentina","Australia","Bolivia","Brasil","Canada ","Chile","Colombia","Costa Rica","Ecuador","El Salvador","España","Estados Unidos","Guatemala","Honduras","Japon","Mexico","N icaragua","Panamá","Paraguay","Peru","Puerto Rico","Rep. Dominicana","Uruguay","Venezuela");
$abrir = file("listafiltrada.txt");
for ($i=0;$i<26;$i++)
for ($n=0;$n<8932;$n++)
//echo $pais[$i]."<br>";
if (preg_match("/^$pais[$i][\n\n]$/",$abrir[$i]))
{
echo nl2br($pais[$i]).($abrir[$i]);
}
else
{
echo "no se encuentra en el archivo"."<br>";

}


?>

/CODE]

PD: el valor for ($n=0;$n<8932;$n++) son las lineas que tiene el texto...
Se que en el planteamiento no esta bien pero no se me ocurre ninguna forma no se..si con explode me podria servir.. soy novato y a ver si alguien me puede iluminar porque me bloqueo...

de echo no se si lo que he hecho es correcto incluir un array en preg_match para buscar algun dato de ese array hasta 2 rupturas de linea..
luego que lo muestre ordenadamente conforme el array pais..
evidentemente entre leeer y leer me he liado mas y no se cual es el camino..desde ya gracias..
  #2 (permalink)  
Antiguo 11/03/2010, 12:00
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Ordenar por paises un contenido txt

nose si hace lo que quieres o no pero me parece que en el segundo for deberia ser $abrir[$n] y no $abrir[$i]
  #3 (permalink)  
Antiguo 11/03/2010, 13:56
 
Fecha de Ingreso: marzo-2010
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Ordenar por paises un contenido txt

si me equiboque pero aun asi no chuta al parecer no hace lo que quiero..
y lo que quiero es que aparezcan los registros del archivo pero ordenadors conforme el array
seria correcta la idea principal ? no se donde hago el fallo.. pero supongo que algo esta mal.. a parte de la $n ya lo cambie y aparece = que no se encuentra..
no se espero ayuda..
  #4 (permalink)  
Antiguo 11/03/2010, 16:06
 
Fecha de Ingreso: marzo-2010
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Ordenar por paises un contenido txt

Estoy asi y me he quedao parao no se que hago mal.. me lo lista con un 1 al principio no consigo filtrar creo.. alguna idea ?


<
Cita:
?php

$pais = array ("Andorra", "Argentina","Australia","Bolivia","Brasil","Canada ","Chile","Colombia","Costa Rica","Ecuador","El Salvador","España","Estados Unidos","Guatemala","Honduras","Japon","Mexico","N icaragua","Panamá","Paraguay","Peru","Puerto Rico","Rep. Dominicana","Uruguay","Venezuela");
$abrir = file_get_contents("listafiltrada.txt");
for ($i=0;$i<25;$i++)
//for ($n=0;$n<8932;$n++)
//echo $pais[$i]."<br>";
if (preg_match("/[^$pais[$i]\\n\\n]$/",$abrir))
{
echo nl2br ($encontrar= preg_match("/[^$pais[$i][\n\n]$/",$abrir));
echo nl2br($pais[$i])."<br>";
//echo nl2br($abrir[$n]);
}
else
{
echo "no se encuentra en el archivo"."<br>";

}


?>

Última edición por destryper; 11/03/2010 a las 17:03
  #5 (permalink)  
Antiguo 13/03/2010, 03:02
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
De acuerdo Respuesta: Ordenar por paises un contenido txt

no es por cuestionarte pero lees un txt por ser necesario o porque no usas una base de datos.

mira encontre algo no se si esto es lo que deseas

Código:
$str = "este mensaje lleba saltos de líneas";
$str = preg_replace("/\s+/"," ",$str);

echo $str; // Ya no lleba saltos de línea
aqui el post original
http://www.forosdelweb.com/f12/expre...-linea-730612/

saludos
__________________
gerardo
  #6 (permalink)  
Antiguo 13/03/2010, 06:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Ordenar por paises un contenido txt

Cita:
Iniciado por chalchis Ver Mensaje
no es por cuestionarte pero lees un txt por ser necesario o porque no usas una base de datos.

mira encontre algo no se si esto es lo que deseas

Código:
$str = "este mensaje lleba saltos de líneas";
$str = preg_replace("/\s+/"," ",$str);

echo $str; // Ya no lleba saltos de línea
aqui el post original
[url]http://www.forosdelweb.com/f12/expresiones-regulares-quitar-saltos-linea-730612/[/url]

saludos

Porque no utilizo base de datos y porque tengo toda la informacion en un archivo txt.. parece menitra la tabarra uqe me esta dando esta maldita tonteria de ordenarlo alfabeticamente...

Etiquetas: contenido, txt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:23.