
PHP: výpis souboru včetně odřádkování
Ahoj,
vytvářím si v php jednoduchý administrační systém pro web, a narazil jsem na zádrhel:
Obsah každé stránky mám uložený v souborech home.txt, kontakt.txt, atd., a na každou konkrétní stránku jsem ho chtěl vypisovat příkazem readfile. Nastal ale problém - soubor se zobrazí bez odřádkování v "jedné větě", přestože ve zdrojovém souboru odřádkování použité bylo.
Nevíte někdo, prosím, co s tím?
Díky
A odradkovani bylo pouzite jakym zpusobem? Klasicke odradkovani? Pak bys musel soubor vypsat jako kod (tagy KBD apod.)
Pokud chces odradkovani pro HTML, tak pouzij prislusny tag BR
Ano, odřádkování je provedeno klasicky Enterem. Tagem BR právě odřádkovat nemohu - text, který se má zobrazit, totiž zapisuje uživatel ve formuláři do textarea, a posléze se ukládá do souboru neco.txt. A nebylo by příliš sofistikované místo mačkání Enteru psát tag BR... :)
Jak jsi to myslel, s těmi tagy KBD? Uzavření zobrazovaného textu do tagu KBD mi nefunguje.
a nl2br v PHP nelze pouzit?
//edit: marvin byl rychlejsi
V tom načítaném souboru musíš použít HTML tag <br />, pokud chceš, aby se v prohlížečí text zalomil. Případně můžeš znak nového řádku z načítaného souboru při výpisu do stránky nahradit za příslušný <br /> pomocí PHP funkce nl2br.
No reseni je jednoduche pokud vypisujes textak tak na to je treba toto
Stim regularnim vyrazem si muzes pohrat i zde
index.php
Tak už to mám vyřešené - nakonec pomohl onen tag nl2br.
Kód vypadá takto:
(formulářem uložím do souboru home.txt textový obsah stránky)
<?
$soubor = fopen("home.txt", "r");
$obsah = fread($soubor, 1000);
fclose($soubor);
echo nl2br($obsah);
?>
... a je to. :) Při zadávání obsahu stránky do formuláře mohu používat odřádkování Enterem (uživatelsky pohodlné a nenáročné), což se poté při výpisu hodnoty $obsah také náležitě zobrazí.
Díky za rady, pánové!
Já používám před uložením do databáze
Odstraní mi to < a >, tučně a kurzivou jde psát přes [ i ], zalamuje to řádky a dělá z url odkazy. Poradili mi s tím marvin, los, virus. Díky kluci.
Kdyztak jsem Krato na ICQ, pisni kdyby neco, stejne se v praci ted flakam.