Avatar billede rudi1234 Nybegynder
16. januar 2004 - 12:16 Der er 13 kommentarer og
1 løsning

Fjern ALLE \n i streng

Jeg har et javascript som ikke kan tåle at der i inputstrengen er linjeksift. Derfor skal jeg have php til at fjerne ALLE \n.

Jeg har prøvet med str_replace, men den fjerner ikke alle...
Avatar billede jensgram Nybegynder
16. januar 2004 - 12:25 #1
str_replace(array("\n", "\r"), '', $din_streng); skulle gøre tricket.
Avatar billede jensgram Nybegynder
16. januar 2004 - 12:27 #2
str_replace("\n", ...osv fjerner ALLE \n, men det kan være at du også vil have \r væk - det klarer ovenstående!
Avatar billede sukos Juniormester
16. januar 2004 - 12:38 #3
Avatar billede rudi1234 Nybegynder
16. januar 2004 - 12:39 #4
Ja, \r skal også væk - så det virker det du skrev. Smid et svar!

Hvad er \r ?

:o)
Avatar billede nak-m Nybegynder
16. januar 2004 - 13:17 #5
rudi1234:

\r er carriage return :)
Avatar billede rudi1234 Nybegynder
16. januar 2004 - 13:51 #6
Svarer det til et linjeskift - eller hænger det altid sammen med linjeksift?
Avatar billede delphimann Nybegynder
16. januar 2004 - 14:30 #7
str_replace("\n","<br>", $felt2);

eller bare for at fjene den

str_replace("\n"," ", $felt2);
Avatar billede rudi1234 Nybegynder
16. januar 2004 - 14:45 #8
delphiman: det har jeg prøvet - det virker ikke (den sletter ikke det hele (\r) )
Avatar billede delphimann Nybegynder
16. januar 2004 - 14:49 #9
str_replace(array("\n", "<br>"), '', $din_streng);
str_replace(array("\r", "<br>"), '', $din_streng);

eller

str_replace(array("\n", " "), '', $din_streng);
str_replace(array("\r", " "), '', $din_streng);
Avatar billede jensgram Nybegynder
16. januar 2004 - 21:35 #10
Jamen det gør jeg så - har været på arbejde, så undskyld den lange ventetid ;)
Avatar billede myplacedk Nybegynder
18. januar 2004 - 11:04 #11
\r - carriage return
\n - newline

I "gamle dage", da printeren sådan set bare var en skrivemaskine (faktisk helt tilbage da sådan blev brugt som "skærm") var det \r der fik "vognen" til at køre helt til venstre, og \n fik valsen til at køre papiret en linje op.
For at lave et linjeskift på sådan en dimmer skulle man altså bruge begge dele, typisk med \r først (så valsen kunne dreje mens vognen langsomt kørte til venstre).

I dag er spørgsmålet så: Hvordan laver man linjeskift i en text-fil? I Windows har man typisk behold den gamle stil, dvs. "\r\n". Fx. Notepad forstår intet andet.
I unix bruger man traditionelt blot "\n", og på mac "\r" (i hvert fald de gamle, jeg ved ikke hvordan de gør i dag).

"God" software forstår altså både "\r\n", "\n" og "\r" som linjeskift.
Avatar billede myplacedk Nybegynder
18. januar 2004 - 11:06 #12
(Jeg vil anbefale den løsning mr_noname kom med i den første kommentar.)
Avatar billede rudi1234 Nybegynder
18. januar 2004 - 15:51 #13
myplacedk : interessant - tak for den gode forklaring.
Avatar billede jensgram Nybegynder
18. januar 2004 - 16:30 #14
Jeg takker også - dog mest for points ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester