Po dlhšej odmlke a návrtu k PHP som hneď na začiatku začal riešiť triviálny problém, ako vytvoriť nový riadok. Všetky články a aj knihy, ktoré mám, uvádzali štandardné zalomenie riadka cez \n. Tiež som si to takto pamätal, ale zápis \n stále nechcel fungovať. K zalomeniu vôbec nedošlo. V minulosti som používal WAMP (Windows, Apache, MySQL, PHP) a teraz mám LAMP (Linux, Apache, MySQL, PHP), tak som začal uvažovať či aj tento fakt nemôže byť príčinou prečo \n nefunguje. V rámci hľadania riešení, ktorých bolo niekoľko, nič nepomáhalo. Skúšal som postupne \n, \r\n, konštantu PHP_EOL, ale aj nahradenie príkazu echo za funkcie printf(), print_r() či print().Žiaľ z uvedených možností nič nezabralo, a tak som prešiel na klasický markup. V rámci PHP pre zalomenie riadka používam <br/>, resp. <br>, keďže už pracujem iba s HTML5. Verzie HTML 4.0 a XHTML 1.1 som už prestal podporovať.Príklad: Zápisy nového riadka v PHP cez element <br>.
1
2
echo "Line 1"."<br>";// variant 1
echo "Line 2 <br>";// variant 2
V rámci good practices sa element <br> až na výnimky v jazyku HTML nepoužíva. Medzi výnimky patrí napríklad nahradenie zápisu \n v elementoch s podporou formátovaného obsahu. Z tohto dôvodu býva element <br> nahradzovaný blokovými elementmi, medzi ktoré napríklad patria <div> a <section>. Opäť závisí, aký druh jazyka HTML je použitý (HTML4, HTML5, XHTML). Element <br> je možné používať v rámci príkladov, ale pri profesionálnej tvorbe webov, až na zopár výnimiek, je vhodné ho nepoužívať. Príklad: Zápisy nového riadka v PHP cez blokové elementy jazyka HTML.
Niektorí autori pre zabezpečenie zalomenia textu používajú kombinovaný zápis elementu <br> so znakom zalomenia riadka \n. Ja tento štýl zápisu neodporúčam, keďže zápisy elementu <br> zostávajú v súboroch a aj v konzole viditeľné.Príklad: Zápis elementu <br> so znakom zalomenia riadka \n.
1
echo "Demo text.<br> \n";
Záver
Na záver ešte dodávam, že uvedené zalomenie riadka je určené pre zobrazenie v internetovom prehliadači. V prípade zalomenia textu sa používa už zápis \n. Takto zalomený text je určený napríklad pre prácu so súbormi alebo pre zobrazenie dát v konzole internetového prehliadača. To znamená, že ak autor pracuje s AJAX-om a chce zobraziť výstup z PHP v konzole internetového prehliadača, musí použiť \n a nie <br>. Ak chce autor zalomiť zdrojový kód (text), použije \n. Ak chce zalomiť výstup pre prehliadač, použije <br> pričom zápis <br> bude aj v zdrojovom kóde (v texte). Zalomenie cez \n nie je v texte viditeľné. Je ho ale možné zobraziť, ak to textový editor umožňuje.2.12.2012 (aktualizované 17.2.2013), Matej LednárKategória: PHPPHP,PHP,programovanie,echo,br,\n,printf,print_r,printŽiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.Viac informácií nájdete v sekcii O projekte.
Komentáre
Peter06.12.201716:25Ahoj, som v PHP nový, ale nič z toho čo píšeš okrem tebou neodporúčanej metódy (/n) vôbec nefunguje (môžeš si to sám odtestovať tu http://sandbox.onlinephpfunctions.com/)
testoval som to na tomto kode
<?php
$date = new DateTime();
$timestamp = strtotime('22-09-2008');
echo $date->getTimestamp();
echo "Demo text. <br> \n";
echo $timestamp;
?>Autor18.12.201709:17ahoj, \n ti bude fungovat v pripadoch ak budes robit s konzolou/terminalom alebo odosielat data na klienta. takze zase uplne \n nezavrhuj :-). Nezabudaj, ze napr. <textarea> alebo <pre> ti to spracuju, kym <br> by si mal zobrazene.