tjaden
15.09.2009, 17:06:54
Problem mój polega na tym, że mam pole tekstowe do którego użytkownik wprowadza wartość (jakiś tekst) i chcę żeby tam gdzie on wstawi enter, enter ten był widoczny w podglądzie.
Przykład:
wprowadzam:
"wiersz1
wiersz2
wiersz3"
i chcę żeby się taksamo to wyświetlało przy pobraniu rekordu z bazy, teraz po pobraniu z bazy wyświetla mi się coś takiego:
"wiersz1 wiersz2 wiesz3"
ceieneka
15.09.2009, 17:11:49
Wstaw znak lamania wiersza do bazy \n lub htmlowy znacznik <br>
tjaden
15.09.2009, 17:15:29
tyle to ja wiem ale ..... w Symfony funkcję tą trzeba wykonać na zawartości
sfWidgetFormTextarea i właśnie z tym mam problem
tego też próbowałem, ale po pierwsze użytkownik powinien mieć możliwość pisania przejrzystego tekstu bez znajomości HTMLa, a po drugie też nie działa ;]
Crozin
15.09.2009, 17:16:06
nl2br powinieneś wstawić w szablonie, a nie pchać do bazy danych.
Whisller
15.09.2009, 17:16:39
Chyba nie do końca tak jest jak mówisz @tjaden. W końcu zanim "symfony" zapisze Ci to do bazy (zapewne używasz $this->form->save()), trzeba jakoś klasie formularza przekazać wartości ( $this->form->bind ). Więc zanim zbindujesz wartosci do klasy formularza wykonaj na nich odpowiednie zmiany które są Ci potrzebne.
tjaden
15.09.2009, 17:19:34
tak też nie działa (zarówno <br> jak i \n wyświetla się w pobranym rekordzie,nie przełamując linii) po wtóre użytkownik powinien pisać, że tak powiem/napiszę w sposób naturalny (wstawiając enter tam gdzie chce przełamaćlinię)
o właśnie .... o to mi chodziło, dzięki
tjaden, zapisz tekst z textarea do bazy bez żadnej obróbki.
Następnie, pobierz go i wyświetl w przeglądarce.... z tym, że spójrz do źródła - co widzisz?
A na podstawie tego co zobaczysz wyciągnij wnioski.
tjaden
15.09.2009, 17:20:09
dobra rada ...... dzięki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.