![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wypociłem taki kawałek kodu (generalnie jest to wycięty mały fragment ze skryptu do sortowania linijek według różnych kryteriów):
Według najlepszej odpowiedzi z http://stackoverflow.com/questions/4214685...extareas-output po wpisaniu np.: Cytat sajhdsajdh dsfds dsfdsfsd powinny zostać usunięte puste linijki i dać: Cytat sajhdsajdh dsfds dsfdsfsd zgodnie z fragmentem: Nic takiego się nie dzieje, przerwy zostają. Próbowałem też innymi metodami i nic. Błagam o jakąś wskazówkę, jak pozbyć się tych pustych linijek w elegancki sposób. Istotne jest to, aby wynik pojawił się w textarea po wysłaniu formularza. Jak działa powyższy kod można zobaczyć tutaj. Enter w textarea wysyła w ogóle znak nowej linii \n czy jakoś inaczej jest to rozwiązane? I jeszcze ciekawostka. Zdefiniowanie funkcji:
i dodanie: zaraz po: daje takie zachowanie. Po pierwszym naciśnięciu "Wykonaj" linie są sortowane od najdłuższej do najkrótszej (występują małe błędy w działaniu, ale mniejsza w tej chwili o to) i wszystkie puste linijki trafiają na koniec. Można ustawić tam kursor. Znikają dopiero po drugim naciśnięciu "Wykonaj". Dziwne... Działanie można zobaczyć tutaj. Ten post edytował robert-s 21.08.2012, 14:31:41 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Znak nowej linii różni się w poszczególnych środowiskach: http://vim.wikia.com/wiki/File_format
Jeśli raz usuniesz znaki nowej linii, to skąd bedziesz wiedział gdzie je dodać po wysłaniu formularza? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi oczywiście o usunięcie tylko pustych linijek. preg_replace w:
teoretycznie powinno zminieniać wiele znaków nowej linii występujących obok siebie na jeden. Ale coś jest nie tak i nie mam pojęcia co. W drugim odsylaczu działa to po drugim naciśnieciu "Wykonaj". Dlaczego więc działa jeśli kilka znaków nowej lini jest na końcu, a nie działa, kiedy są między innymi linijkami? Ten post edytował robert-s 21.08.2012, 14:46:23 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Przecież pisałem, i nawet podałem odnośnik, w którym tłumaczą (I PODAJĄ!), że znaki końca linii różnią się w zależności od środowiska:
- na Uniksach jest to "\n" - na Macach jest to "\r" - na Windowsach jest to "\r\n" Masz serwer na Linuksie, a przeglądarkę na Windowsie? Spróbuj: U mnie (serwer: Linux, przeglądarka: Windows) zadziałało. Musisz też (jako zadanie domowe) zastanowić się nad przerobieniem tego na kod uniwersalny. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Działa. Dzięki wielkie za naprowadzenie na problem!
Ten post edytował robert-s 21.08.2012, 15:40:56 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.08.2025 - 03:49 |