Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formatowanie tekstu z plików txt
gigabyte
post 25.09.2003, 12:38:52
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.01.2003

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


Założenie:
mam plik tekstowy (o nazwie np."plik.txt") w którym są następujące wpisy:
Kod
tekst w 1 linijce

tekst w 2 linijce

tekst w 3 linijce

kiedy wstawiam

[php:1:bde4ac3224]<?php
include("plik.txt");
?>[/php:1:bde4ac3224]

to wywala mi tekst w jednym ciągu, tzn:
Kod
tekst w 1 linijce tekst w 2 linijce tekst w 3 linijce

A co zrobić żeby było tak jak jest to rzeczywiście zapisane w pliku tekstowym "plik.txt" - czyli linijka pod linijką?

Z góry dziękuję za odp.
Go to the top of the page
+Quote Post
BzikOS
post 25.09.2003, 12:43:12
Post #2





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Użyj funkcji nl2br();

[php:1:c4242a3759]<?php
$text = nl2br($text);
?>[/php:1:c4242a3759]
Go to the top of the page
+Quote Post
gigabyte
post 25.09.2003, 12:58:03
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.01.2003

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


Nie działa.
A w jaki inny sposób "wyciągnąć" te dane z pliku - bo jak wpisze
[php:1:7f6e071449]<?php
include ("plik.txt");
?>[/php:1:7f6e071449]to odrazu wywala mi je na strone?
Go to the top of the page
+Quote Post
DeyV
post 25.09.2003, 12:58:59
Post #4





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




oczywiście najpier należy ten tekst pobrać, np. przy pomocy funkcji [manual:7613986e0a]file_get_contents[/manual:7613986e0a] lub fopen - fread.
Include nie do tego jest... smile.gif


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
kubatron
post 25.09.2003, 13:22:29
Post #5





Grupa: Zarejestrowani
Postów: 581
Pomógł: 0
Dołączył: 21.07.2003
Skąd: Jasło

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


daj w plikach txt <br> i wszystko ok
Go to the top of the page
+Quote Post
scanner
post 25.09.2003, 13:33:36
Post #6





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
daj w plikach txt <br> i wszystko ok
Gratuluję pomysłu. Taki plik wstaw następnie do <textarea> i powiedz użytkownikowi, że nie może naciskać [ enter ] tylko na wstawiać jakieś krzaczki, bo programista raczkuje.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
kubatron
post 25.09.2003, 13:57:29
Post #7





Grupa: Zarejestrowani
Postów: 581
Pomógł: 0
Dołączył: 21.07.2003
Skąd: Jasło

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


tylko że są funkcje które ukrywają w formularzach to biggrin.gif biggrin.gif biggrin.gif
Go to the top of the page
+Quote Post
BzikOS
post 25.09.2003, 14:01:37
Post #8





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Cytat
tylko że są funkcje które ukrywają w formularzach to biggrin.gif  :D  :D

questionmark.gifquestionmark.gif?
Go to the top of the page
+Quote Post
chfast
post 27.09.2003, 23:02:08
Post #9





Grupa: Zarejestrowani
Postów: 222
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Wrocław

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


Cytat
A co zrobić żeby było tak jak jest to rzeczywiście zapisane w pliku tekstowym "plik.txt" - czyli linijka pod linijką?

Spróbuj tak:
[php:1:4a5cf0b524]<?php
$file = file('plik.txt');
$text = implode('<br/>', $file);

echo $text;
?>[/php:1:4a5cf0b524]

A jak bardzo ci zależy to możesz sobie ten kod trochę zoptymalizować:
[php:1:4a5cf0b524]<?php
echo implode('<br/>', file('plik.txt'));
?>[/php:1:4a5cf0b524]


--------------------
pozdrawiam, chfast
Go to the top of the page
+Quote Post
DeyV
post 28.09.2003, 16:51:10
Post #10





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




A czemu nie zrobić po prostu tak?
[php:1:6f738485c6]
<pre>
<?
include 'plik.txt';
?>
</pre>
[/php:1:6f738485c6]


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
loo
post 28.09.2003, 19:33:19
Post #11





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 26.07.2003
Skąd: Gliwice

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


a moze dodaj na koncu kazdej linijki n
Go to the top of the page
+Quote Post
chfast
post 28.09.2003, 22:19:19
Post #12





Grupa: Zarejestrowani
Postów: 222
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Wrocław

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


Cytat
a moze dodaj na koncu kazdej linijki n

Znak n zastępuje znak końca linii. Skoro w pliku tekstowym tekst jest podzielony na linijki to znaczy ze znak końca linii znajduje się na końcu każdej linijki (może oprócz ostatniej). Po includowaniu pliku znak końca linii znajduje się także w kodzie php oraz w wynikowym kodzie HTML.
Problem jest w tym, że HTML (tzn. przeglądarka) pomija znaki końca linii (traktuje je jako spacje), znaki tabulacji oraz wielokrotnie powtarzane spacje. Dlatego trzeba umieszczać w kodzie znaczniki <br/>.


--------------------
pozdrawiam, chfast
Go to the top of the page
+Quote Post
DeyV
post 28.09.2003, 22:23:57
Post #13





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




ludzie - wcale nie trzeba w zawartości pliku umieszczać <br> tak samo jak nie umieszcza się go zazwyczaj w bazie danych.
By nie mieć z tym problemów są funkcje typu [manual:38ac9abf27]nl2br[/manual:38ac9abf27], które zamieniają w podanym tekstcie znak n na <br>n
Tak więc zazwyczaj robi się to tak, ze pobiera się dany fragemtnt tekstu, np. przy pomocy fopen, fread, a następnie drukuje poprzez echo ( nl2br($text ) ) ;


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
chfast
post 28.09.2003, 22:33:15
Post #14





Grupa: Zarejestrowani
Postów: 222
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Wrocław

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


Cytat
ludzie - wcale nie trzeba w zawartości pliku umieszczać <br> tak samo jak nie umieszcza się go zazwyczaj w bazie danych.
By nie mieć z tym problemów są funkcje typu [manual:49b8812edf]nl2br[/manual:49b8812edf], które zamieniają w podanym tekstcie znak n na <br>n

A czy użycie funkcji nl2br() nie jest umieszczeniem w kodzie znacznika <br/>?


--------------------
pozdrawiam, chfast
Go to the top of the page
+Quote Post
spenalzo
post 28.09.2003, 22:35:07
Post #15





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Cytat
A czy użycie funkcji nl2br() nie jest umieszczeniem w kodzie znacznika <br/>?

Jak już chcesz się tak spierać to powiem, że nie ;-P - w starszych wersjach php nl2br dodawalo <br> a nie <br /> (jak już to ze spacją).


--------------------

Go to the top of the page
+Quote Post
chfast
post 28.09.2003, 22:46:52
Post #16





Grupa: Zarejestrowani
Postów: 222
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Wrocław

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


Cytat
Jak już chcesz się tak spierać...

Nie chce się spierać tylko DeyV mnie źle przeczytał...


--------------------
pozdrawiam, chfast
Go to the top of the page
+Quote Post
DeyV
post 28.09.2003, 23:47:15
Post #17





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Nie sądziłem żę można tyle napisać na temat zwykłego br... sad.gif
Odniosłem wrazenie, że sugerujesz, tak jak wcześniej kubatron, że należy zapisywać w pliku te tagi (<br>) co, zazwyczaj jest najgorszym z możłiwych rozwiażań.
I tyle.
Eot.


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
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: 21.05.2025 - 08:04