Avatar billede masik7 Nybegynder
26. juli 2006 - 21:21 Der er 28 kommentarer og
2 løsninger

Erstatte \n med \\n

Hvordan kan jeg erstatte linjeskift i en streng med \\n ?
Avatar billede gizmo-gizmo Nybegynder
26. juli 2006 - 21:26 #1
$str = str_replace("\n", "\\n", $str);

??
Avatar billede nielle Nybegynder
26. juli 2006 - 21:37 #2
Eller sådan:

$str = str_replace("\n", '\n', $str);
Avatar billede masik7 Nybegynder
26. juli 2006 - 22:06 #3
Det har jeg prøvet, men så kommer der et linjeskift og så \\n. Jeg vli kun have \\n
Avatar billede nielle Nybegynder
26. juli 2006 - 22:16 #4
Eller sådan?

$str = str_replace("\n", '\\n', $str);
Avatar billede mclemens Nybegynder
26. juli 2006 - 22:16 #5
<?php
$str="\n";
$str = str_replace("\n", "\\\\n", $str);
echo $str;
?>
Avatar billede mclemens Nybegynder
26. juli 2006 - 22:20 #6
Men 26/07-2006 21:26:46 burde give dig det du skriver:
<?php
$str="\n";
$str = str_replace("\n", "\\n", $str);
echo $str;
?>

Giver her:
----------
\n
----------
d.v.s. variablen har da værdien \\n
Avatar billede mclemens Nybegynder
26. juli 2006 - 22:32 #7
Det her kunne dog ligne din problem stilling lidt:

<?php
$str="\r\n";
$str = str_replace("\n", "\\n", $str);
echo $str;
?>

Giver her:
----------

\n
----------


Så prøv evt. for sjov:
$str = str_replace("\r", "\\r", $str);
$str = str_replace("\n", "\\n", $str);
Avatar billede nielle Nybegynder
26. juli 2006 - 22:48 #8
I PHP kan tekststrenge omgives med "-tegn eller med '-tegn. PHP reagere forskelligt alt efter hvilken man vælger:

$str1 = "Noget tekst\nnoget mere tekst";
$str2 = 'Noget tekst\nnoget mere tekst';

I den første variant vil der være et linjeskift, i den anden vil \n indgå som et stykke tekst. "-tegn bevirker simpelthen at \n behandles som en escape-sekvens, mens '-tegn betyder at de behandles som et stykke tekst.

Hvis man derfor ønsker at få et linjeskift ændret til teksten \n kan det derfor klares med:

$str = str_replace("\n", '\n', $str);

- eller hvis man ønsker at få det ændret til teksten \\n:

$str = str_replace("\n", '\\n', $str);

- osv. derud af.
Avatar billede nielle Nybegynder
26. juli 2006 - 22:49 #9
Hvis teksten kommer fra en Windows-platform, vil et linjeskift sandsynligvis være ræpræsenteret ved escapesekvensen \r\n. Dette kan ordnes efter fuldstændig smame opskrift:

$str = str_replace("\r\n", '\n', $str);
$str = str_replace("\r\n", '\\n', $str);
Avatar billede mclemens Nybegynder
26. juli 2006 - 23:11 #10
[ - eller hvis man ønsker at få det ændret til teksten \\n:
$str = str_replace("\n", '\\n', $str); ]
-> Giver ($str="a\na";): a\na ... og ikke a\\na
... så skal du istedet: $str = str_replace("\n", '\\\n', $str);

$str = str_replace("\r\n", '\n', $str); <- Yes, f.eks.
$str = str_replace("\r\n", '\\n', $str); ... ($str = str_replace("\r\n", '\\\n', $str);)
Avatar billede masik7 Nybegynder
27. juli 2006 - 10:27 #11
nielle->
$str = str_replace("\r\n", '\n', $str);
Det var lige den, jeg havde brug for ;).
Smid et svar.
Avatar billede mclemens Nybegynder
27. juli 2006 - 10:59 #12
Umiddelbart synes jeg at det er ok, med point til Nielle men:

1. Du beder om at få erstattet \n med \\n det sørger gizmo-gizmo
eksempel for - så burde han vel have en bid af pointene?

2. I 26/07-2006 22:32:55 kommer jeg med ideen om at problemet
måske skyldes \r som står foran \n - jeg skriver ganske vist ikke
linjen som nielle kom med - med det samme, jeg ville gerne se
om problemet skyldes \r før vi rettede problemet...
- mon jeg så skulle have en lille bid for at slå
hul i bylden / løfte sløret for problemet?

3. Nielle skal selvfølgelig også have point da hun skrev den fulde linje.
Avatar billede mclemens Nybegynder
27. juli 2006 - 11:00 #13
(føler bare at alle har bidraget lidt her)
Avatar billede nielle Nybegynder
27. juli 2006 - 11:06 #14
Jeg har i hvert falt *ingen* som helst problemer med at vi deler på denne her :^)
Avatar billede masik7 Nybegynder
27. juli 2006 - 11:07 #15
Ja. Men hvordan giver man flere point?
Det var altså ikke fordi jeg ville snyde nogen.
Avatar billede mclemens Nybegynder
27. juli 2006 - 11:38 #16
Ok, her er lige et svar fra mig også :)
... så skal vi lige vente på gizmo :o)



[ Ja. Men hvordan giver man flere point? ]
- Jeg føler egentlig at 60 point til deling ville være ok,
det var jo bare \r der forvirrede / drillede lidt :o)

Hvis man vil udvide point antallet kan man trykke på knappen funktioner(placeret i venste menu panel i bunden ... javascript skal være aktiveret ) - her kan man så vælge at afsætte flere point (man kan ikke mindske point antallet senere - hvis man i et spørgsmål har tildelt for mange lægger man selv et svar og fordeler dem til svarene og den anden del til sig selv).



[ Det var altså ikke fordi jeg ville snyde nogen. ]
Det ved jeg godt :o) - Point fordeling er også altid spørgers ansvar at fordele dem til dem, som han selv føler, der har bidraget til en løsning af problemstillingen ... Selvfølgelig kan en deltager altid foreslå en anden fordeling - men det er spørgeren der er kongen over fordelingen ;o)

- Jeg er altid ude efter point for at hjælpe... et eksempel kan være denne tråd: http://www.eksperten.dk/spm/721943 - der dog var lukket og pointene var væk, men når man ser en ting der ikke er optimal løser man den sommetider selvom de symbolske point er væk :o)

... Et spørgsmål der bare lukkes uden fordeling til dem der rent faktisk har bidraget - kan dog også give andre end blot dem der har bidraget til løsningen lidt "kløen" eks: http://www.eksperten.dk/spm/718838



Med venlig hilsen,
Clemme :o)
Avatar billede mclemens Nybegynder
27. juli 2006 - 11:49 #17
Edit: - Jeg er altid ude efter point for at hjælpe ...
Der skulle stå: - Jeg er ikke altid ude efter point for at hjælpe ...

... sikke et dumt ord at glemme ...
- det eksempel jeg henviser til viser at point
ikke altid er af den største betydning for mig og andre,
men det er altid rart at modtage lidt symbolske point ...
Avatar billede masik7 Nybegynder
27. juli 2006 - 12:20 #18
[udvide point antallet]
Det tror jeg ikke, jeg vil gøre, for jeg har vist ikke "råd" til det;).
Avatar billede masik7 Nybegynder
27. juli 2006 - 13:02 #19
Kan jeg godt acceptere jeres svar, og så senere gizmos?
Avatar billede mclemens Nybegynder
27. juli 2006 - 13:21 #20
Niks, når man først accepterer et svar eller
flere kan man ikke give point til en mere...
Gizmo skal lægge svaret før du fordeler :o)
Avatar billede masik7 Nybegynder
27. juli 2006 - 13:44 #21
Okay. Så venter jeg bare ;)
Avatar billede masik7 Nybegynder
29. juli 2006 - 11:30 #22
Tror i, han svarer?
Avatar billede mclemens Nybegynder
29. juli 2006 - 11:38 #23
Tyder ikke helt på det ... lad os give ham til iaften :o)
(har lige lagt en kommentar i den sidste tråd han har deltaget i)
Avatar billede nielle Nybegynder
29. juli 2006 - 12:31 #24
Nu er det jo ikke helt uhørt at folk tager på ferie i disse tider. :^)
Avatar billede mclemens Nybegynder
29. juli 2006 - 12:37 #25
Ja, der er nogen der er heldige ...
for min skyld kan vi også lade den stå
indtil han svarer (et par uger - eller måneder) ...
- jeg mangler nu ikke som sådan 20 point p.t. :D
Avatar billede masik7 Nybegynder
29. juli 2006 - 16:23 #26
Det var bare, hvis han havde glemt det.
Avatar billede gizmo-gizmo Nybegynder
29. juli 2006 - 17:15 #27
Jeg er forsvundet, og kan derfor ikke modtage points ;)  Giv dem til de andre, jeg har ikke fortjent dem.
Avatar billede masik7 Nybegynder
31. juli 2006 - 11:04 #28
Takker for hjælpen alle sammen :)
Avatar billede mclemens Nybegynder
31. juli 2006 - 11:09 #29
Tak for point :o)
Avatar billede nielle Nybegynder
31. juli 2006 - 18:37 #30
Tak for point :^)
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