kulpek
30.12.2007, 13:44:31
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??
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
30.12.2007, 13:49:54
dam Ci przykład
Kod
<?
$linia="sssssssssss";
$dziel=wordwrap($linia, 3, "<br>", 1);
echo"$dziel";
?>
a oto wynik
sss
sss
sss
ss
kulpek
30.12.2007, 14:28:43
@aiv dzieki Twoj sposob dziala bez problemu

@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
bfcior
17.01.2008, 10:19:20
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.