Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pomysł na skrypt
Forum PHP.pl > Forum > Przedszkole
Gość
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
$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ść
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
  1. <?php
  2. $plik=fopen("plik.txt","r+");
  3. $tresc=fread($plik,filesize("plik.txt"));
  4. fclose($plik);
  5. $tresc_bez_pzerw=str_replace("nn","n",$tresc);
  6. ?>


smile.gif
Cysiaczek
Użyj funkcji file() i sprawdź, które wiersze mają zerową długość. Powinno zadziałać,

Pozdrawiam,
Gość
a jak to sprawdzic czy pomocy tej funkcji??
Cysiaczek
  1. <?php
  2. $linie=file('plik.txt');
  3. foreach ($linie as $linia){
  4. if ($strlen($linia)==0){
  5. //i tu coś robisz
  6. }
  7. }
  8. ?>


Z palca pisane, więc ewewntualnie coś coś sobie popraw. MOzliwe, że trzeba dodać funkcje trim() w foreachu.

Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.