Gość
20.08.2006, 18:44:13
witam. Mam pewien problem otoz posiadam duzy plik txt w którym sa wypisane slowa jedno pod drugim ale niestety miedzy niektorymi zdazaja sie puste wiersze wyglada to mniej wiecej tak:
jeden
dwa
trzy
cztery
pięć
czy pomoze mi ktos napisac skrypt ktory usunie wszystkie puste wiersze. Jeszcze jedno puste wiersze sa w pliku txt po wyedytowaniu ( nie wyswietla ich przegladarka) macie jakis pomysl?
ps. jestem poczatkujacy.
probowalem zrobic to tak.... sprawdzac pokolei czy kazda linikja to string poprzez is_string
potem chcialem sprobowalem sprawdzic przez strlen(); jesli np. wieksze od 3 to zostawalo a jak mniejsze to odpadala ( odpadala niby ta pusta) ale to nie zadzialalo
Szakal
20.08.2006, 20:30:27
$plik=fopen("plik.txt","r+");
$tresc=fread($plik,filesize("plik.txt"));
fclose($plik);
$tresc_bez_pzerw=str_replace("\r\n","",$tresc);
i ewentualny zapis
$plik=fopen("plik.txt","w+");
fwrite($plik,$tresc_bez_pzerw);
fclose($plik);
to powinno załatwić sprawę...
Gość
20.08.2006, 21:16:55
niestety to nie zalatwi sprawy poniewaz pousuwa wszystkie wiersze tak ze tekst bedzie w jednym ciagu. a ja potrzebuje zachowac wiersze.
chce usunac tylko niepotrzebne odstepy pomiedzy wierszami
Ziels
20.08.2006, 21:24:18
<?php
$plik=fopen("plik.txt","r+"); ?>
Cysiaczek
20.08.2006, 21:36:24
Użyj
funkcji file() i sprawdź, które wiersze mają zerową długość. Powinno zadziałać,
Pozdrawiam,
Gość
20.08.2006, 21:42:30
a jak to sprawdzic czy pomocy tej funkcji??
Cysiaczek
20.08.2006, 21:47:36
<?php
foreach ($linie as $linia){
if ($strlen($linia)==0){
//i tu coś robisz
}
}
?>
Z palca pisane, więc ewewntualnie coś coś sobie popraw. MOzliwe, że trzeba dodać funkcje trim() w foreachu.
Pozdrawiam.