Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pomysł na skrypt, jak usunąć puste wiersze z *.txt
-Gość-
post 20.08.2006, 18:44:13
Post #1





Goście







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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Szakal
post 20.08.2006, 20:30:27
Post #2





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 27.05.2004
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


$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ę...


--------------------
Pozdrawiam
(o) Igor Dirbach
Go to the top of the page
+Quote Post
-Gość-
post 20.08.2006, 21:16:55
Post #3





Goście







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
Go to the top of the page
+Quote Post
Ziels
post 20.08.2006, 21:24:18
Post #4





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post
Cysiaczek
post 20.08.2006, 21:36:24
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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

Pozdrawiam,

Ten post edytował Cysiaczek 20.08.2006, 21:36:37


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
-Gość-
post 20.08.2006, 21:42:30
Post #6





Goście







a jak to sprawdzic czy pomocy tej funkcji??
Go to the top of the page
+Quote Post
Cysiaczek
post 20.08.2006, 21:47:36
Post #7





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




  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 think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 11:45