eliminare i tab

peppepegasus

Utente Attivo
20 Ott 2006
108
0
0
Ciao,

ho fatto qualche ricerca ma non sono pervenuto a nulla che mi fosse di valido aiuto.
sto leggendo un file .dat i dati però presenti in questo file sono separati dai tab, avrei bisogno di eliminare i tab e sostituirli con una virgola, in modo da poter poi usare l'explode e memorizzare i dati in un array.
una riga del file che leggo è del tipo:

Codice:
25/06/02  00,00  6000    1.51    1.62  133.58  297.59   22.16   .315   .580   .110   .224   .285  -.136  -.015   .017   .036  -.051  -.010   .149   .069      .151    -12.1     .010     .013     .009     .012 -9999.000 -9999.000 -9999.000 -9999.000   -9999.9     -12.1

dove gli spazi non sono degli spazi ma dei tab (a detta di chi mi ha passato il file!!), a volte ce n'è uno a volte 2. Ora che ci penso, credo che siano dei tab..se fossero degli spazi come li potrei togliere, con str_replace facendolo agire più volte?
ho usato
PHP:
explode("\t", $array);
ma niente.
help me..grazie.
ciao.
 
Se ho capito che cosa vuoi fare, ecco quello che fa per te. Visualizza tutte le "sezioni" divise dai TAB del file in una comoda lista. In ogni caso puoi sempre usarlo in altro modo, i dati sono contenuti nella variabile $explode. Testato e funzionante. Lo script si occupa anche di eliminare eventuali doppi TAB. Per qualunque cosa, chiedi pure.

PHP:
<?php
// nome del file
$file = 'prova.txt';
// fine impostazioni

$contents = file_get_contents($file);
$contents = explode("	", $contents);
$explode = array();

foreach($contents as $name => $value)
{
	if($contents[$name] == '')
		unset($contents[$name]);
}

foreach($contents as $value)
	$explode[] = $value;

echo "Ecco qui i dati contenuti nel file: <ul>\n";
foreach($explode as $value)
	echo "<li>{$value}</li>\n";
echo "</ul>";
?>

Devi personalizzare il nome del file all'inizio dello script. Per funzionare dovrebbe avere permessi 0777.
 

Discussioni simili