Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: spacje
Forum PHP.pl > Forum > Przedszkole
Chrom
Witam,
Pewnie to jest jakieś banalnie proste zadanie, ale nie dla mnie proszę o jakąś wskazówkę.
Problem jest taki: mam plik tekstowy i potrzebuję usuną spacje na początku każdej linijki, mam taki fragment kodu
  1. <?php
  2.  
  3. $tekst = preg_replace( '/ +/', ';', $tekst );
  4.  foreach ($tekst as $linia)
  5.  {
  6. echo "$linia <br />";
  7. } 
  8.  $wp = fopen("$lokalizacja", 'w');
  9. fwrite( $wp, implode( '', $tekst ) );  
  10. ?>

gdzie usuwam spacje wewnątrz pliku tu wszystko jest ok funkcja trim usuwa tylko na początku i końcu całego pliku jak zrobic, aby usuwała na początku każdej linijki?
Sabistik
Mozna by pobrac plik za pomoca file()
potem uzyc trim do kazdego elementu tablicy zwroconej przez file()
zapisac plik ponownie.
.:dR@kE:.
http://pl2.php.net/manual/pl/function.trim.php

-- edit:
A przeczytałeś chociaż treść poprzednich postów? Następna taka odpowiedź nie ujdzie Ci na sucho tongue.gif
~crash
Chrom
to czytałem ale mam pytanie dlaczego:

$tekst = trim($tekst, " \n .");

zgłasza błąd
nieznam angielskego prawie wcale i majac 43 lata chyba sie juz nie naucze tag by sie nim plynnie pslugiwac a z tego co zrozumialem korzystając z \n. powinno przejsc wszystkie linie, nie rozumiem gdzie jest błąd
crash
Po pierwsze trim() obcina znaki na początku i końcu ciągu wieć by to dość cenzura strukturę pliku. Może spróbuj tak:

  1. <?php
  2. $data = file( './plik.txt' );
  3.  
  4. foreach( $data as $key => $line )
  5. {
  6.    $data[ $key ] = ltrim( $line );
  7. }
  8. if( $f = fopen( './plik.txt', 'w' ) )
  9. {
  10.    fwrite( $f, implode( '', $data ) );
  11.    fclose( $f );
  12. }
  13. ?>
Chrom
Dzieki działa świetnie, masz u mnie duże piwo.
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.