Rychlo dotaz :-) Nový řádek z textarea ...

10 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Zdravím vespolek, mám jeden rychlodotaz: Potřebuju udělat, aby když postu text z TEXTAREA do databáze, tak aby bral na vědomí, že konec řádku v TEXTAREA je konec řádku ve skutečnosti. Dalo by se to udělat přes <pre> jednoduše, ale já prostě nepřekousnu to písmo, takže předpokládám, že to bude buď přes js nebo nevím. Internet je plný návodů na to, jak vkládat takhle přes js smajlíky a tak, ale jak nahradit třeba konec řádku automaticky do výstupu tagem <br />, tak to už nikde, popř. neumím hledat :-) Díky
  2. ehm, tak zřejmě jen neumím hledat :-) že by (to jsem si teda skombinoval ze dvou zdroju, takže pokud to bude dobře, třeba to tady zase poslouží i někomu dalšímu, když už jsem se zeptal :-) $textstary = $_POST['textarea']; $text = str_replace("\n","<br>", $textstary); a pak to teprve jako $text pošlu do databáze a je to? To by bylo podezřele jednoduché :-D
  3. No nic, tak se omlouvám za spam, a můžete to uzavřít. Nechám tady výsledek pro příští generace :-) Tohle je kód zpracování jen texarey z formuláře a nechal jsem si ji vypsat velkým cerveným písmem, abych viděl že to fachá: <font style=" font-family: comic sans ms; font-size: 20px; color: #FF0000; font-weight: bold; "> <?php $textstary = $_POST['obsah']; $text = str_replace("\n","<br />", $textstary); echo "$text"; ?> </font>
  4. Jenom dodám, že celé vlákno vzniklo z neznalosti funkce nl2br(). Viz http://cz.php.net/nl2br. Výsledek tedy může vypadat takto (pominu-li bezpečnostní detaily): <?php echo nl2br($_POST['obsah']); ?>
  5. skutečně z neznalosti. Je mezi těmito zápisy nějáký i další rozdíl, než jen v jednoduchosti zápisu?
  6. Tak rozdíl mezi nimi je, že nl2br() má zřejmě ošetřen konec řádku. Respektive jde na to jinak. Před koncem řádku vloží tág <br />. Takže: echo nl2br(" prvni \n druhy "); // => prvni <br />\n druhy echo nl2br(" prvni \r druhy "); // => prvni <br />\r druhy echo nl2br(" prvni \r\n druhy "); // => prvni <br />\r\n druhy
  7. ok, díky :-)
  8. <HTML>nl2br má jednu nevýhodu - nezná normu, podle které je výsledný dokument utvářen. Takže pokud má být výstup v klasickém HTML (odřádkování <br>), PHP tam funkcí nl2br stejně narve XML zápis (odřádkování <br />).</HTML>
  9. Vývojáři si toho ale byli vědomi a v novějších verzích php (5.3.0) už má optional parametr: nl2br("prvni\ndruhy", false); //prvni<br>druhy ___ Jiro: předpokládám, že o bezpečnosti víš, ale nedá mi to nezopakovat.. nezapomeň, že čistě načtený vstup od uživatele bys neměl jenom tak vypsat -- uživatel ti tam může naházet různé html tagy, případně javascripty a takový výpis může udělat pěkné divadélko. Stejně tak bys jej neměl jenom tak jednoduše vkládat do databáze -- je potřeba použít mysql_real_escape_string() nebo alespoň addslashes() ;)
  10. <HTML>Díky za tip, to jsem nevěděl. ___ Jiro: Na addslashes zapomeň. Jedinou správnou funkcí pro zabezpečení řetězce za účelem jeho použití v MySQL dotazu je mysql_real_escape_string.</HTML>

← Zpět na všechna témata