Eli mitenkä onnistuisi toteuttaa että formilta+text inputista tulevasta arvosta parsittaisiin ylimääräinen \ merkki.
Esim jos kirjoitan inputtiin
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\foobar
tulostuu se php:ssa
C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\foobar
Jaa, eipä mitään. str_replace:lla se onnistuu.
stripslashes
hoitaa homman.
Jos vaan mahdollista niin .htaccess-tiedostoon php_flag magic_quotes_gpc Off. Ylimääräiset kenoviivat lisäävä ominaisuus magic_quotes_gpc
on PHP:n versiossa 5.3 merkattu vanhentuneeksi eikä sitä suositella enää käytettäväksi. Ominaisuus poistuu kokonaan versiossa 6.
Lisäsin tuon .htaccesiin.
Vielä olisi tämmöinen ongelma.
Koitan asettaa php:n puolella text inputtiin valueksi '/\"'/\"
echo "<input type=\"text\" value=\"".$s."\" />";
Sivun lähdekoodissa se on sitten näin:
<input type="text" value="'/\"'/\"" />
Ja itse sivulle tulostuu vain '/\
Edit. htmlspecialchars ratkaisi ongelman.
Kumma kun tunnin googlettelu ei tuota ensin tulosta ja sitten kun kysyn täältä, pieni lisä googlettelu tuo ratkaisun ongelmaan. :P
Aihe on jo aika vanha, joten et voi enää vastata siihen.