ďťż

[php] nl2br(); - pewne zastrzeżenia co do... ...jej funkcjonalności...

       

Podstrony


telcocafe

Zawsze 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!

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.