Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana enterów w nowe linie w Texarea
Forum PHP.pl > Forum > Gotowe rozwiązania
camelx
Witam

ostatnio robię księgę gości ale wiele rzeczy nie umiem i mam dużo pytań... :roll2:

Chodzi mi o to, żeby w TextArea, kiedy wpisuję tekst i naciskam enter, to chcę żeby były one zmieniane w nowe wiersze, tzn. żeby robiły się odstępy.

Myślę, że wiecie o co chodzi. Na tym forum też przecież tak jest w formularzach.

//Przykład:
Jakiś tekst
//enter
//enter
i mam tekst dwie linijki niżej

Proste co questionmark.gif Tylko jak to zrobić cool.gif
kicaj
Na php.pl jest o tym artykul!!!
q
  1. <?php
  2.  
  3. $strString = ereg_replace(&#092;"(rn|n|r)\", \"<br />\", $_POST['dane']);
  4.  
  5. ?>


ereg_replace" title="Zobacz w manualu PHP" target="_manual i wysilic sie troche bardziej z wyszukiwarka proponuje smile.gif
Ive
przerabiasz text funkcją nl2br() i sam wszystkie entery zamienia na <br />
camelx
No dobra, ja ten artykuł już wcześniej czytałem, ale nie wiem co zrobić z tą zmienną ($strString)... Czy dać to do pliku .php, czy jakoś do formularza(korzystam ze smarty więc może być trudniej).

BTW. $_POST['dane'] - co to są te 'dane' ?
q
$_POST['dane'] , gdzie 'dane' to nazwa twojego pola textarea lub inputa
a $strString to wynik tej operacji, czyli string z zastapionymi znakami nowej linii na br'y

oczywiscie jest rowniez wspomniane nl2br" title="Zobacz w manualu PHP" target="_manual, ktore dziala podobnie (nie zastepuje znaku nowej linii br'em a dopisuje br przed ten znak)
camelx
już prawie wszystko rozumiem, ale co mam zrobić z $strString questionmark.gif Gdzie to ma się znajdować??
Mam plik 'book.php' w który odczytuje mi dane z bazy i wyświetla je. Czy $strString mam wstawić gdzieś tam ? oto fragment kodu:
  1. <?php
  2. $mresult = mysql_connect($db_host, $db_user, $db_pass)
  3. or die ('nie można się połączyć z bazą danych...');
  4. $baza = mysql_select_db($db_name)
  5. or die ('nie można wybrać bazy...');
  6.  
  7. if (!isset($first)) { $first = 0; } 
  8. $ltmp = 10; // wielkosc \"porcji\", tu: 30 rekordow
  9.  
  10. $query = &#092;"SELECT * FROM cw_book order by id DESC LIMIT \".$first.\",\".$ltmp.\"\";
  11. $data = &#092;"SELECT DATE_FORMAT(data,'%d.%m.%Y %H.%i.%s') AS data FROM cw_book \";
  12.  
  13. $data_qresult = mysql_query($data, $mresult);
  14. $data_row = mysql_fetch_array($data_qresult);
  15. $qresult = mysql_query($query, $mresult);
  16. if (mysql_num_rows($qresult) > 0){
  17. echo &#092;"<table width=94% align=center>\";
  18. while ($row=mysql_fetch_array($qresult)){
  19. echo &#092;"<tr>\";
  20. echo &#092;"<td>Dodano dn. \" . $data_row['data'] . \"<br><b>\" .  $row[\"gosc\"] . \"</b>\";
  21. if($row[&#092;"mail\"] != ''){
  22. echo &#092;" ~ <a href=mailto:\".$row[\"mail\" ].\">\" . $row[\"mail\" ] . \"</a>\"; }
  23. else {
  24. echo '';
  25. }
  26. if($row[&#092;"web_name\"] != '') {
  27. echo &#092;" ~ <a href=\".$row[\"web\"].\">\" . $row[\"web_name\"] . \"</a>\";}
  28. else {
  29. echo '';
  30. }
  31. echo &#092;"<hr class=small></td></tr><tr><td>\" . emotize($row[\"tekst\"]) . \"<br><p></td>\";
  32. echo &#092;"</tr>n\";
  33.  
  34. };
  35. echo &#092;"</table>\";
  36. } else {
  37. $lang['book_empty'];
  38. };
  39. ?>

Jeżeli mam to wstawić w tym pliku, to gdzie??
Mam jeszcze plik który wysyła wszystko do bazy, może tam to wstawić?

Toważysze! Pytanie brzmi: gdzie wstawić $strString questionmark.gif
q
pare podpowiedzi ...
co pobierasz przez textarea i co z tym robisz questionmark.gif

wg mnie linia 32
  1. <?php
  2.  
  3. echo &#092;"<hr class=small></td></tr><tr><td>\" . ereg_replace(\"(rn|n|r)\", \"<br />\", emotize($row[\"tekst\"])) . \"<br><p></td>\";
  4.  
  5.  
  6. ?>


lub
  1. <?php
  2.  
  3. echo &#092;"<hr class=small></td></tr><tr><td>\" . nl2br(emotize($row[\"tekst\"])) . \"<br><p></td>\";
  4.  
  5. ?>
camelx
OŁ JEA, nareszcie się udało exclamation.gif! biggrin.gif

Działa ten drugi z nl2br, bo w pierwszym wyskakuje parse error. Ale i tak jest super. O to mi chodziło.

Dzięki za pomoc q, jesteś zajebisty biggrin.gif


BTW. do textarea są wpisywane wpisy do księgi gości, a potem jest to wysyłne do bazy.

BTW2. jutro się biorę za BBcode...
yavaho
nie jestem pewny co robi funkcja emotize

ale to powinien chyba tak wstawic
  1. <?php
  2. emotize(nl2br($row[&#092;"tekst\"]))
  3. ?>
lub
  1. <?php
  2. emotize(ereg_replace(&#092;"(rn|n|r)\", \"<br />\", $row[\"tekst\"]))
  3. ?>


Wczoraj mialem podobny problem
Zobacz na: moj temat
camelx
funkcję emotize to ja zrobiłem i ona zmienia znaczki ':P' w obrazki (emotikonki). Dzięki za pomoc

yavaho ---> czytałem Twój temat i też się przyda...
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-2024 Invision Power Services, Inc.