Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zmiana końca lini na tag
Forum PHP.pl > Forum > Przedszkole
kylo1989
Witam wszystkich, mam skrypt php który edytuje plik tekstowy (znaleziony chyba nawet na tym forum)
  1. <?php
  2. $katalog = opendir("./");
  3. while ($plik = strtolower(readdir($katalog))) {
  4. if ($plik<>"." && $plik<>".." && $plik<>"edytuj.php" ) $lista[]=$plik;
  5. }
  6. closedir($katalog);
  7. if (count($lista)>0) {
  8. echo "Wybierz plik do edycj:";
  9. sort($lista);
  10. }
  11.  
  12. for ($i=0;$i<count($lista);$i++) {
  13. echo "<br />Edytuj plik <b>$lista[$i]</b> <a href=\"edytuj.php?edycja=$lista[$i]\">Edytuj</a>";
  14. }
  15.  
  16.  
  17. // zmiana zawartosci pliku
  18. $edycja = $_REQUEST["edycja"];
  19. if (isset($_POST["tekst"]) && file_exists($edycja)) {
  20. $f = fopen($edycja, "w");
  21. fputs($f, stripslashes($_POST["tekst"]));
  22. fclose($f);
  23. }
  24.  
  25.  
  26.  
  27. // umieszczenie pliku w formularzu
  28. if ($edycja<>"" && file_exists($edycja)) {
  29. echo "<p> </p>Edycja plik: <b>$edycja</b>";
  30. echo '<form action="edytuj.php" method="post"><input type="hidden" name="edycja" value="'.$edycja.'" /><textarea name="tekst" rows="25" cols="80">';
  31. $f = fopen($edycja,"r");
  32. while(!feof($f)) echo fread($f,1024);
  33. fclose($f);
  34. echo '</textarea><input type="submit" value="Zapisz" /></form>';
  35. }
  36. ?>



skrypt używam do edycji plików txt które potem wczytuje do flasha, tworzy on jednak podwójne przerwy między liniami tzn. przy zapisie do pliku tekstowego:
1
2

flash wyświetli:
1

2

dlatego chce zmienic znak końca lini na <br>, poszukałem i wiem już że służy do tego funkcja:
  1. $str = str_replace("\r", '', $str);
  2. $str = str_replace("\n", '<br>', $str);


zmieniłem ten fragment:
  1. // zmiana zawartosci pliku
  2. $edycja = $_REQUEST["edycja"];
  3. $tekst = str_replace("\r", '', $tekst);
  4. $tekst = str_replace("\n", '<br>', $tekst);
  5. if (isset($_POST["tekst"]) && file_exists($edycja)) {
  6. $f = fopen($edycja, "w");
  7. fputs($f, stripslashes($_POST["tekst"]));
  8. fclose($f);
  9. }


ale niestety nie działa, pliki dalej posiadają wadliwe linie, próbowałem wielu kombinacji ale podjerzewam że problem jest w nazwie zmiennej która jest edytowana,
proszę o jakąś poradę
Cysiaczek
http://php.net/manual/en/function.nl2br.php
kylo1989
dlatego pisze to w tym dziale ponieważ nie wiele wiem na temat PHP, więc ten link nie wiele mi daje
sama funkcja jest chyba dobrze, może jest w złym miejscu lub złą zmienną używam?
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.