Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP + MySQL] <textarea> i nowa linia
Forum PHP.pl > Forum > Przedszkole
kulpek
Witam

Pisze taki maly skrypt komentarzy i mam problem z jedna rzecza. Skrypt dziala jak nalezy tylko kiedy np. wpisze do pola textarea kilka lini tekstu poprzez nacisniecie entera, to w bazie zapisuje sie poprawnie, jako kilka lini... ale gdy chce odczytac dane z bazy do tabeli to wynik jest pokazywany w jednej linii oddzielony spacjami.

Jak to mozna obejsc??
aiv
Tekst z pola textarea zapisywany jest do bazy z znakami nowego wiersza zamiast znaków <br /> z HTML'a. Przeglądając bazę np w phpMyAdminie możesz mięć wrażenie że tekst jest zapisywany poprawnie gdyż phpMyAdmin z pewnością użył funkcji nl2br(). Zamienia ona znak nowej linii na znak nowej linii w HTML'u.

A wiec podsumowując użyj funkcji nl2br($text) zanim wyświetlisz tekst na stronie to będzie wyglądał tak jak go wprowadziłeś w <textarea>
Lion_87
dam Ci przykład

Kod
<?

$linia="sssssssssss";
$dziel=wordwrap($linia, 3, "<br>", 1);

echo"$dziel";
?>



a oto wynik

sss
sss
sss
ss
kulpek
@aiv dzieki Twoj sposob dziala bez problemu winksmiley.jpg

@Lion_87 hmm.. ten pomysl moglby dzialac.. gdybym wiedzial z gory ile znakow ma sie miescic w 1 linii.. ale niestety nie wiem jakiej dlugosci komentarze beda pisac uzytkownicy, a wiec ten pomys nie przejdzie ale dzieki za checi winksmiley.jpg
bfcior
No ale np, gdy znowu chcesz to wypisac w textarea to uzyj

<?php
$zmienna = str_replace("\r\n", "\n", $zmienna);
echo $zmienna;
?>

mi to działa ;]

Pozdrawiam
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.