nl2br & Angular.js - kde ho aplikovat (server, klient) rubrika: Kódování: HTML

Anonym
položil/-a 11.9.2013

Mam nejaku Angular.js aplikaciu, kde je textarea na pridavanie komentarov. V tejto textarea je samozrejme mozne odriadkovat pomocou klavesy ENTER. Vysledkom je string, kde je kazde odriadkovanie reprezentovane znakom \n (newline).
Komentare sa musia spatne zobrazovat na stranke aj odriadkovanim. Cize znaky \n v povodnom stringu je nutne nahradit HTML tagom <br>. Jednoduche ako facka.

No ale pretoze sa jedna o Angular single-page-application, stojim pred dilemou, kde sa ma toto nahradenie udiat:

  • na klientovi este pred odoslanim na server
  • na serveri po prijati POSTu
  • na klientovi pri vypise komentara

Tetie riesenie je takmer urcite nepriechodne, pretoze preprocesing sa musi vykonat vzdy pri zobrazeni v browseri - to zerie vykon, baterku.

Vacsina mi asi hned odporuci druhe riesenie, ale - dnes mi moj backendista povedal, ze API by mal byt iba hlupy storage - co do neho poslem, to z neho dostanem. Nejaky preprocesing je proti tomuto principu.

Prve riesenie je fajn, ale stale sa moze na backend odoslat aj nejaky iny HTML kod, ktory treba potom sanitizovat.

Pre ake riesenie by ste sa rozhodli vy?

odkaz
4 jednabedna
odpověděl/-a 11.9.2013

Server by skutečně neměl ani tušit pro jakou aplikaci data odesílá, to co přijme odešle. Co když ty data budeš chtít renderovat do PDF? Budeš pak to HTML odstraňovat?
Tudíž podle mého je nejrozumnější poslední řešení. Při výpisu dat je zformátovat podle toho kam a jak je chci vypsat.

Pro zobrazení všech 6 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.