Är det något som vet hur det fungerar? Om jag skriver "c:\" i ett formulär så kommer det in som "c:\\". Detta vill jag inte ha utan jag vill ha "c:\". Är det en bugg eller en funktion?
När ska jag använda StripSlashes på den för att få bort \? Har märkt att det inte behövs vid echo men därimot vid annat fall.
Där står: 'm' 'newline' 'o'. Inte: 'm' '\' 'n' 'o'.
Tecknet '\' används för att ge speciell betydelse till andra tecken. Och det innebär att man måste ange '\\' om det är '\' man vill ha.
Anledningen till att inte detta syns när du använder echo är att alla specialtecken ersätts när du skriver ut en sträng ('\\' visas som '\' och '\n' visas som 'newline').
Om denna avkodning skall ske automatiskt eller inte kan du styra från php.ini (och jag tror även det finns en funktion som gör att du kan styra det på scriptbasis). Innebär dock inte att PHP i sig behandlar '\' annorlunda.
Det finns dock två problem.
1. Varför fungerar inte det i andra funktioner än echo? Om jag använder
fwrite("rad1\nrad2") så ska det stå
rad1
rad2
men det gör ju inte det. Inte när det är inkommande deta iaf. Utan det står rad1\nrad2 i filen. Varför?
--
Ett annat problem jag har är att jag inte är administratör på servern jag använder och därför inte kan ändra php.ini :(
Note that if the length argument is given, then the magic_quotes_runtime configuration option will be ignored and no slashes will be stripped from string.
Man verkar alltså kunna påverka detta beteende genom att ändra magic_quotes_runtime (har inte möjlighet att testa nu).