![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 9 Dołączył: 9.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem... zrobiłem system newsów i nie wiem jak zrobić automatyczne entery w bazie danych (a wiem, że jakoś się da).
Chcę np. wysłać przez textarea i, żeby przy wczytaniu (do edycji, lub wyświetleniu na stronie głównej) automatycznie zawierało "enter", zamiast <br>. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 317 Pomógł: 58 Dołączył: 6.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Przed zapisem do bazy, albo po odczycie potraktuj wynik odpowiednią funkcją:
albo Zależy w którą stronę potrzebujesz. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 9 Dołączył: 9.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mi o to, by w bazie NIE BYŁO (!) wpisów tego typu.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 317 Pomógł: 58 Dołączył: 6.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Więc zamień miejscami dwa pierwsze parametry funkcji str_replace().
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 9 Dołączył: 9.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ale będzie wtedy w bazie "\n" czy może się mylę?
W treści newsa też ma się nie pisać "<br />" Ten post edytował mayu11 12.04.2010, 21:31:04 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 317 Pomógł: 58 Dołączył: 6.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jak zamienisz <br /> na "\n" to w bazie zapiszą się "entery". Pytałeś "jak zrobić automatyczne entery w bazie danych", więc myślałem, że o to Ci chodzi.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Mamy pole:
I wpisujemy do niego przykładową treść (wpisujemy dokładnie tak, jak to przedstawia kod poniżej): Kod Tekst w pierwszej linii Po przesłaniu formularza tekst możemy pobrać ze zmiennej $_POST['content'] i przypisać do zmiennej $tekst:Tekst w drugiej linii Tekst w trzeciej linii Zawartość zmiennej $tekst będzie następująca: Tekst w pierwszej linii\nTekst w drugiej linii\nTekst w trzeciej linii przy czym '\n' to niewidoczny dla nas znak przejścia do nowej linii. Przeglądarka nie potrafi zinterpretować '\n' jako przejścia do nowej linii, dlatego jeśli chcemy wyświetlić wiadomość tak, jak została wpisana, musimy zamienić znaki przejścia do nowej linii na odpowiedni kod html. Zadanie to spełnia funkcja nl2br, która automatycznie zamienia wszystkie '\n' na '<br />' (odpowiednikiem tej funkcji jest str_replace("\n", '<br />', 'tekst')). Zatem zastosujmy funkcję: Teraz zmienna $wersja_html zawiera ciąg znaków: Tekst w pierwszej linii<br />Tekst w drugiej linii<br />Tekst w trzeciej linii który przez przeglądarkę jest wyświetlany tak, jak w kodzie z drugiego listingu. Jeśli chcemy się całkowicie pozbyć znaków przejścia do nowej linii możemy zastąpić je np. spacjami: Zawartość zmiennej $nowy_tekst będzie następująca: Tekst w linii pierwszej Tekst w linii drugiej Tekst w linii trzeciej Jednak w tej chwili nie możemy już wyświetlić (w ogóle) tekstu tak, jak był wpisywany. I przykład:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:42 |