Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/03/2011, 07:34
destryper
 
Fecha de Ingreso: marzo-2010
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Convirtiendo datos txt a php¿¿

Bueno sigo con el dichoso tema..
he avanzado pero no consigo lo que quiero voy a poner un ejemplo real copiar lo siguiente en un txt..

España
nombre
dirección
CP y localidad
comunidad
Tel:238284934
Fax:29399393494
Mail:[email protected]
WebSite:www.google.com


España
nombre
dirección
CP y localidad
Tel:238284934
Fax:29399393494
Mail:[email protected]
WebSite:www.google.com


España
nombre
dirección
CP y localidad
comunidad
Tel:238284934
Mail:[email protected]
WebSite:www.google.com


España
nombre
dirección
CP y localidad
comunidad
Tel:238284934
Fax:29399393494

bien guardarlo con nombre insertando.txt y ponerlo junto con el siguiente script..
yo lo llamo exportar.php pero eso da =

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Generando SQL</title>
</head>

<body>

<?php

set_time_limit(8000);
$abrir=file_get_contents("insertando.txt","r");
$contar=preg_split("/[\n\r\n\r]+/",$abrir);

$n=0;

while($n<4150)
{

if(preg_match("/[A-z]|[0-9]|[\n\r]/",$contar[$n],$concis))
{
if(preg_match("/[A-z]/",$contar[$n],$concis))
{
echo "Linea ".$n." Pais :".$contar[$n]."<br>";
$n++;
}
if(preg_match("/[A-z]|[0-9]/",$contar[$n],$concis))
{
echo "Linea ".$n." Nombre :".$contar[$n]."<br>";
$n++;
}
if(preg_match("/[A-z]|[0-9]/",$contar[$n],$concis))
{
echo "Linea ".$n." Dirección :".$contar[$n]."<br>";
$n++;
}
if(preg_match("/[A-z]|[0-9]/",$contar[$n],$concis))
{
echo "Linea ".$n." CP y Comunidad: ".$contar[$n]."<br>";
$n++;
}

if(preg_match("/[A-z]|[0-9]/",$contar[$n],$concis))
{
echo "Linea ".$n." Comunidad: ".$contar[$n]."<br>";
$n++;
}
if(preg_match("/[A-z]|[0-9]/",$contar[$n],$concis))
{
echo "Linea ".$n." Tel: " .$contar[$n]."<br>";
$n++;
}
if(preg_match("/[A-z]|[0-9]/",$contar[$n],$concis))
{

echo "Linea ".$n." Fax: ".$contar[$n]."<br>";
$n++;
}
if(preg_match("/[A-z]|[0-9]/",$contar[$n],$concis))
{

echo "Linea ".$n." Mail: ".$contar[$n]."<br>";
$n++;
}
if(preg_match("/[A-z]|[0-9]/",$contar[$n],$concis))
{

echo "Linea ".$n." WebSite: ".$contar[$n]."<br>";
echo "<br>";
}
}
else
{
echo "Linea ".$n." Vacia y saliendo"."<br>";
echo "<br>";
}
$n++;




}
echo "fin de archivo";
?>

</body>
</html>

Bien explico lo que me ocurre el script me funciona salvo que necesito verificar linea a linea.. tengo todos los datos en el array $contar[$n] gracias al pregsplit quito los espacios y saltos con 1 minimo de 2 ya que cada dirección tiene un minimo de 2 saltos y retornos claro..
bien hasta hay todo bien.
Mi problema es que el Pais,Nombre y Dirección y CP y localidad generalmente son siempre fijos los demas pueden variar como el ejemplo..Puedo tener en el txt un Tel: y fax no por lo siguiente me mostrara Comunidad: Tel:... en donde ocurra esto y se me descomensa todo...

Probe de hacer un if dentro del if de comunidad por ejemplo que es el que mas problemas me da
if(preg_match("/[Tel:]/",$contar[$n],$concidencias)
{
echo "no hay comunidad"."<br>";
}
He probado de todo y el resultado no es el que quiero, a ver si alguien puede hecharme una mano lo super agradeceria ;)
por lo que el resultado no es el deseado se vera desordenado..
He intentado ponerle condiciones en los if con preg_match por ejemplo que si en comunidad coincide con Tel: $n++; pero no lo consigo.. para nada
no se si me estoy liando y cual seria la mejor forma de hacerlo pero tampoco se por donde tirar lo super agradeceria la ayuda...