2011-07-24 11 views
7

Próbuję wypisać znak nowej linii w PHP, który zostanie wyświetlony w przeglądarce. Mogę nim zarządzać tylko za pomocą znacznika <br />.Jaka jest zaleta n i PHP_EOL w PHP?

Kiedy używam \n, nic nie występuje, więc jaka jest korzyść z używania \n? Jaka jest korzyść z PHP_EOL? Kiedy łączę go z łańcuchem znaków, drukowana jest tylko spacja, a nie znak nowej linii.

+2

Bez względu na to, jakiego typu 'EOL', którego używasz, zostanie zignorowane w przeglądarce, chyba że znajduje się wewnątrz znacznika' pre'. Tylko element 'br' lub block level sprawi, że zawartość zostanie zwrócona do następnego wiersza podczas renderowania. – prodigitalson

Odpowiedz

7

Przeglądarka internetowa interpretuje wyjście programu PHP jako HTML, więc \n i \r\n nie będą wyświetlać niczego, tak jak wstawianie znaku nowej linii w pliku HTML. Z drugiej strony, <br /> tworzy nową linię w zinterpretowanym kodzie HTML (stąd "linia BReak"). Dlatego <br /> stworzy nowe linie, natomiast \r\n nic nie da.

+0

(dosłownie oddziela kod na różne podziały linii) Potrafię oddzielić kod przez nowe linie ręcznie, więc kod jest czytelny, do tej pory nie mogę znaleźć żadnej korzyści z używania \ r \ n – palAlaa

+3

"\ r \ n" jest przydatne do zapisu do plików, interfejsów linii komend php, pisania gniazd, zapisywania danych do textarea (element HTML) itp. Jest zasadniczo przydatny do wszystkiego oprócz bezpośredniego HTML. – Chris

+0

Oto punkt, dzięki. – palAlaa

3

Definicja PHP_EOL jest poprawna dla platformy, na której się znajdujesz. Tak więc na Windows PHP_EOL jest \r\n na MAC to \r na Linuksie, to jest \n. Natomiast <br /> lub <br> jest znacznikiem HTML dla hamulca liniowego. Jeśli jesteś nowicjuszem w PHP &, lepiej najpierw zrozumieć HTML, a potem martwić się o PHP. Lub zacznij czytać jakiś kod źródłowy i uruchom kod źródłowy innych ludzi, aby zobaczyć, jak to zrobili. To sprawi, że będziesz lepiej kodował po prostu kopiując ich styl. (Przez większość czasu).

+0

Tworzę "\ r \ n" również nie pojawia się nowa linia. – palAlaa

+0

Po prostu chcę wiedzieć, że nowa linia, o której mówię, powinna być wyświetlana na stronie HTML lub w innym strumieniu ??? – palAlaa

+0

Użyj '
' wewnątrz HTML, aby utworzyć nową linię na stronie internetowej, użyj 'PHP_EOL', aby utworzyć nową linię w znaczniku HTML strony. Mówisz o dwóch różnych rzeczach i powinieneś o tym wiedzieć, zanim spróbujesz HTML i PHP. Najpierw musisz uczyć się HTML, a potem uczyć się PHP, ponieważ jeden podczas pracy z drugim, to nie to samo. –

4

Kiedy używasz PHP zrobić aplikację, istnieje kilka warstw zaangażowanych:

  • Twój kod PHP, który wysyła kilka dane do
  • serwer WWW, który przekazuje dane przez sieć do
  • przeglądarkę internetową, która analizuje dane danych i wyświetla je na ekranie.

Należy zauważyć, że powyższe dane są przesyłane dalej. W twoim przypadku te dane to HTML, ale równie dobrze mógłby to być zwykły tekst, a nawet obraz w formacie PNG. (Jest to jeden z powodów, dla których wysyłasz nagłówek Content-Type:, aby określić format twoich danych.)

Ponieważ jest tak często używany w HTML, PHP ma wiele funkcji specyficznych dla HTML, ale to nie jedyny format może wyprowadzać. Tak więc, podczas gdy znak nowego wiersza nie zawsze jest przydatny dla HTML, jest przydatny:

  • jeśli chcesz sformatować HTML, który generujesz, nie dla przeglądarki internetowej, ale dla innej osoby, aby móc czytać;
  • jeśli chcesz wygenerować zwykły tekst lub inny format, w którym znaki nowego wiersza mają znaczenie.
2

PHP_EOL jest przydatny podczas zapisywania danych do pliku, np. Pliku dziennika. Spowoduje to utworzenie podziałów linii charakterystycznych dla twojej platformy.

Powiązane problemy