problem z trim() |
problem z trim() |
26.11.2006, 22:44:24
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 2 Dołączył: 21.10.2006 Ostrzeżenie: (0%) |
Witam!
Jako że zapoczątkuje dopiero z php postanowiłem sobie napisać księgę gości, nie używałem jeszcze sqla więc wszystkie wpisy zaplanowałem że będą trzymane w jednym pliku na dysku. Napisałem sobie odpowiednią klasę i mam problem. Do wpisywania komentarzy użyłem pola textarea i wysyłania metodą post. Jako że przyjąłem że każdy komentarz będzie zajmował jedną linię w pliku problem się pojawia kiedy wpiszę w textarea jakiś tekst z użyciem enteru tzn kilka razy przejdę do nowej linii. Wtedy cały komentarz zapisuje w pliku w kilu liniach. Próbowałem przed zapisem potraktować string w którym mam surowy komentarz funkcją trim() która ponoć usuwa znaki załamania wiersza '\n' ale nie skutkuje. Próbowałem też str_replace('\n', ' ', $ciagwejsciowy) ale bez skutku. Pomoże ktoś ? |
|
|
26.11.2006, 23:30:27
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) |
Hmm, trim" title="Zobacz w manualu php" target="_manual usuwa białe znaki ale tylko z początku i końca całego stringu. Z pewnością nie usuwa znaków nowej linii.
Ta konstrukcja zadziała:
Tyle, że skoro ktoś wklepał w polu textarea znak nowej linii, to pewnie miał ku temu powód. Więc czemu nie użyć nl2br" title="Zobacz w manualu php" target="_manual? Problem z nowymi liniami w pliku rozwiązany, formatowanie poprawne. pozdr. |
|
|
26.11.2006, 23:38:36
Post
#3
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Lub też w jednej linijce:
tylko trzeba pamiętać, że nl2br() nie usuwa znaku nowej linii on jedynie dodaje <br> przed nią. Co do znaku końca linii trzeba pamiętać, że Linux to tylko \n Windows to \r\n a mac \r... -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
26.11.2006, 23:46:14
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) |
@Sedziwoj, masz rację co do nl2br" title="Zobacz w manualu php" target="_manual.
Co do nowej linii, zamiast zastanawiania się, czy Win, czy Mac czy Unix, najlepiej chyba użyć stałej PHP_EOL ;) pozdr. Ten post edytował siemakuba 27.11.2006, 01:05:48 |
|
|
26.11.2006, 23:54:53
Post
#5
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Fajna stała można by było się spodziewać, że jest skoro jest nl2br(), więc kod by wyglądał:
-------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
27.11.2006, 00:49:08
Post
#6
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 2 Dołączył: 21.10.2006 Ostrzeżenie: (0%) |
ok koledzy dzięki za podjęcie tematu. Zadziałało str_replace(array("\n","\r"), ' ', $string) . Ciekawi mnie jednak dlaczego nie działa funkcja trim() wszak pisze że wycina "\n" i "\r".
|
|
|
27.11.2006, 01:01:43
Post
#7
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Działa tak jak pisze, wycina tylko że na końcu i na początku.
-------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
Wersja Lo-Fi | Aktualny czas: 14.06.2024 - 08:59 |