ďťż
Podstrony
|
telcocafeZawsze we wszystkich tworzonych formularzach używałem funkcji nl2br... Zamienia ona każdy "enter" na <br>. Jednak mam pewne zastrzeżenia co do jej funkcjonalności, które wyjawiły się przy tworzeniu "edycji". Otóż wszystko działa znakomicie - aż do momentu gdy nie będę próował edytować artykułu/komentarza/wpisu.Moje formularzy edycyjne wyglądają tak że do każdego input'a i textarea wczytywane są dane z bazy. Gdy jednak uruchomię skrypt to w formularzu pojawia mi się natręt <br>'ów które są wstawione tam gdzie nowa linia nie kasując jej. Gdy dokonam edycji to okazuje się że nl2br(); dodała kolejne <br> obok starych gdyż poprzednie nie były usunięte. Moje pytanie brzmi: Jak zrobić aby dane wczytytane do tabli edycji były zamienione ponownie na znak nowej linii? Uzysakłbym w ten sposób brak nieporządku w postaci miliona <br>, no i automatycznie zostałby usunięty problem z dodatkową linią, bo by się nie pojawiła... Z tego co wiem to niestety nie istnieje żadna funkcja typu br2nl();, a mogła by się przydać... Jeżeli wiecie jak rozwiązać problem to pomóżcie! Pozdrawiam, seak1. Użyj funkcji str_replace: http://php.net.pl/ma...str-replace.php Użyj funkcji str_replace: http://php.net.pl/ma...str-replace.php Ale jak zamienie <br> na \n to w formularzu to nadal będzie \n a nie "enter"... Jakies inne pomysły? strip_tags() nie, pod warunkiem, że zamieniasz a "\n" a nie na '\n' $text=str_replace('<br>',"\n",$text); Faktycznie nie pomyślałem o apostrofach... Dzięki! Pozdrawiam, seak1. kiedy wysyłasz formularz, to przed dodaniem do bazy nie przepuszczaj go przez nl2br(). dzięki temu gdy ponownie będziesz chciał wyświetlić treść w textarea br'ów nie będzie, a zadziałają tylko znaki nowej linii. tyle do panelu admina bo zapewne taki posiadasz. jeśli chodzi o wyświetlanie na stronie, to po pobraniu treści z bazy przepuszczasz ją przez nl2br() i wszystko działa :] sądzę, że o to ci chodziło. jeśli nie to trudno :) Faktycznie masz rację - kiedy dodawałem do bazy danych rekordy to zostały dodawane <br>, kiedy chciałem edytować to znowu były zamieniane i w ten sposób pojawiała się cała masa linii. Dzięki! |
|||
Sitedesign by AltusUmbrae. |