Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenie linii
Forum PHP.pl > Forum > Przedszkole
malymarek
Cześć, mam wiadomość w 2 liniach

linia1
linia2

Chciałbym te linie połączyć tak:

linia1linia2


Czy jest na to sposób? Z góry dziękuję i pozdrawiam.
dr_bonzo
A w czym masz ta "wiadomosc"? w jednym stringu, w pliku, w dwoch stringach, w bazie?

Zgaduje ze w jedmyn stringu:
  1. <?php
  2. print( str_replace( array( "n", "r" ), '', $wiadomosc ) );
  3. ?>
malymarek
Te linie powstają przez użycie 'entera' przy przesyłaniu danych poprzez formularz w polu textarea. Zapisują się w pliku tekstowym. Nie umiem się ich pozbyć, a ten sposób u mnie się nie sprawdza.

Może da się jakoś w samym polu textarea ?
atomik
No bo pewnie masz serwer na linuksie i w pliku nie masz CRLF tylko LF..
Poprzedni kod podany przez Doktora Bonzo dotyczył przypadku CRLF (tak będzie przy serwerze postawionym na windzie).
W twoim przypadku pewnie zadziała kod nieco zmodyfikowany, który pozwolę sobie zacytować w dwóch wersjach:

windowej:
Kod
<?php
print( str_replace( "\r\n", "", $wiadomosc ) );
?>


linuxowej:
Kod
<?php
print( str_replace( "\n", "", $wiadomosc ) );
?>


Powinno pomóc.

.. było trochę pokombinować i poszukać po manualach smile.gif
dr_bonzo
Moj kod zamienia "\n" na "" I "\r" na "" a nie "\n\r" na "" -- sprawdzalem na linuxie.
Moze chodzi o to ze argumentem 'replace' tez powinna byc tablica:
  1. <?php
  2. print( str_replace( array( "n", "r" ), array( '', '' ), $wiadomosc ) );
  3. ?>


No, jeszcze jest wersja MACowa -- "\r" biggrin.gif

I jest artykul na portalu php.pl -- znaki nowej linii, czy jakos tak.
atomik
Rzeczywiście masz rację bonzo smile.gif tylko w tym przypadku print wyrzuci komunikat o tablicy bo wynikiem tej konstrukcji jest tablica. Lepiej byłoby zastosować print_r i pewnie z tym malymarek nie potrafi sobie poradzić tongue.gif

Kto wie co on tam ma w tym pliku? Trzebaby go zobaczyć i wtedy przypasować.
Widać malemu nie chce się kombinować albo już ma rozwiązanie tylko nie raczył tu napisać cool.gif .

Aha.. i jeszcze jedno.. twoja konstrukcja Bonzo
Kod
<?php
print( str_replace( array( "\n", "\r" ), "", $wiadomosc ) );
?>

da w wyniku tablicę dwóch stringów, jeden z usuniętym CR a drugi z usuniętym LF a jak będzie CRLF to kucha.. i jeszcze musiałbyś zrobić coś do rozróżnienia w ktorym stringu masz właściwy wynik? Lepiej będzie dla świętego spokoju zastosować wersję omni-systemową w rodzaju:
Kod
<?php
print( str_replace( "\r", "", str_replace( "\n", "", $wiadomosc ) ) );
?>

To załatwi każdą wersję, linuxową, windową i makową aaevil.gif
malymarek
Cytat
print_r i pewnie z tym malymarek nie potrafi sobie poradzić

Zgadłeś tongue.gif. Na szczeście wiem co to jest manual i znalazlem różne sposoby wyświetlania zawartosci pliku smile.gif.

U siebie mam serwer pod windows, a docelowo serwer działa pod linuxem i był kłopot. Rozwiązanie atomica załatwiło wszystko. Wcześniej nie miałem okazji, to teraz dziękuję smile.gif i pozdrawiam.
mike
Tylko że @atomik też jeszcze powinien sobie doczytać co nieco tongue.gif
  1. <?php
  2.  
  3. $arrInsert = array( "r", "n" );
  4. $arrRemove = array( '', '' )
  5. print( str_replace( $arrInsert, $arrRemove, $wiadomosc ) );
  6.  
  7. ?>


----edit----
Przepraszam @dr_bonzo nie zauważyłem winksmiley.jpg Twojego posta
atomik
Trochę zakręciłeś mike (podobnie jak ja) aarambo.gif
Doczytałem i faktem jest, że pierwsza wersja doktora powinna być najlepsza tzn.
Kod
<?php
print( str_replace( array( "\n", "\r" ), '', $wiadomosc ) );
?>

Nie ma tego złego co by na lepsze/gorsze (niepotrzebne skreślić) nie wyszło laugh.gif
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-2025 Invision Power Services, Inc.